home *** CD-ROM | disk | FTP | other *** search
MacBinary | 1988-11-01 | 12.6 KB | [TEXT/MPS ] |
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: MacBinary
(archive/macBinary).
Confidence | Program | Detection | Match Type | Support
|
---|
10%
| dexvert
| MacBinary (archive/macBinary)
| fallback
| Supported |
1%
| dexvert
| System V 64-bit library (executable/systemV64BitLibrary)
| ext
| Unsupported |
1%
| dexvert
| COFF Library (other/coffLibrary)
| ext
| Unsupported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| MacBinary II, Tue Nov 1 16:22:02 1988, modified Tue Nov 1 16:22:02 1988, creator 'MPS ', type ASCII, 12045 bytes "UFailure.a" , at 0x2f8d 542 bytes resource
| default (weak)
| |
99%
| file
| data
| default
| |
74%
| TrID
| Macintosh plain text (MacBinary)
| default
| |
25%
| TrID
| MacBinary 2
| default (weak)
| |
100%
| siegfried
| fmt/1762 MacBinary (II)
| default
| |
100%
| lsar
| MacBinary
| default
|
|
id metadata |
---|
key | value |
---|
macFileType | [TEXT] |
macFileCreator | [MPS ] |
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0a 55 46 61 69 6c 75 | 72 65 2e 61 00 00 00 00 |..UFailu|re.a....|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 4d 50 53 | 20 00 00 00 00 00 00 00 |.TEXTMPS| .......|
|00000050| 00 00 00 00 00 2f 0d 00 | 00 02 1e 9f 93 db 7a 9f |...../..|......z.|
|00000060| 93 db 7a 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |..z.....|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 99 5a 00 00 |........|.....Z..|
|00000080| 3b 0d 3b 09 41 70 70 6c | 65 20 4d 61 63 69 6e 74 |;.;.Appl|e Macint|
|00000090| 6f 73 68 20 44 65 76 65 | 6c 6f 70 65 72 20 54 65 |osh Deve|loper Te|
|000000a0| 63 68 6e 69 63 61 6c 20 | 53 75 70 70 6f 72 74 0d |chnical |Support.|
|000000b0| 3b 0d 3b 09 45 78 63 65 | 70 74 69 6f 6e 20 68 61 |;.;.Exce|ption ha|
|000000c0| 6e 64 6c 69 6e 67 20 66 | 6f 72 20 4d 50 57 20 50 |ndling f|or MPW P|
|000000d0| 61 73 63 61 6c 2c 20 4d | 61 63 41 70 70 20 61 6e |ascal, M|acApp an|
|000000e0| 64 20 4d 50 57 20 43 0d | 3b 0d 3b 09 55 46 61 69 |d MPW C.|;.;.UFai|
|000000f0| 6c 75 72 65 20 28 61 6b | 61 20 53 69 67 6e 61 6c |lure (ak|a Signal|
|00000100| 73 29 20 2d 20 d2 45 78 | 63 65 70 74 69 6f 6e 61 |s) - .Ex|ceptiona|
|00000110| 6c 20 63 6f 64 65 2c 20 | 77 69 74 68 20 61 20 66 |l code, |with a f|
|00000120| 65 77 20 65 78 63 65 70 | 74 69 6f 6e 73 2e d3 0d |ew excep|tions...|
|00000130| 3b 0d 3b 09 55 46 61 69 | 6c 75 72 65 2e 61 09 2d |;.;.UFai|lure.a.-|
|00000140| 09 41 73 73 65 6d 62 6c | 79 20 53 6f 75 72 63 65 |.Assembl|y Source|
|00000150| 0d 3b 0d 3b 09 43 6f 70 | 79 72 69 67 68 74 20 a9 |.;.;.Cop|yright .|
|00000160| 20 31 39 38 35 2d 31 39 | 38 38 20 41 70 70 6c 65 | 1985-19|88 Apple|
|00000170| 20 43 6f 6d 70 75 74 65 | 72 2c 20 49 6e 63 2e 0d | Compute|r, Inc..|
|00000180| 3b 09 41 6c 6c 20 72 69 | 67 68 74 73 20 72 65 73 |;.All ri|ghts res|
|00000190| 65 72 76 65 64 2e 0d 3b | 0d 3b 09 56 65 72 73 69 |erved..;|.;.Versi|
|000001a0| 6f 6e 73 3a 09 31 2e 30 | 09 09 09 09 09 31 31 2f |ons:.1.0|.....11/|
|000001b0| 38 38 0d 3b 0d 3b 09 43 | 6f 6d 70 6f 6e 65 6e 74 |88.;.;.C|omponent|
|000001c0| 73 3a 09 55 46 61 69 6c | 75 72 65 2e 70 09 09 09 |s:.UFail|ure.p...|
|000001d0| 4e 6f 76 65 6d 62 65 72 | 20 31 2c 20 31 39 38 38 |November| 1, 1988|
|000001e0| 0d 3b 09 09 09 09 55 46 | 61 69 6c 75 72 65 2e 68 |.;....UF|ailure.h|
|000001f0| 09 09 09 4e 6f 76 65 6d | 62 65 72 20 31 2c 20 31 |...Novem|ber 1, 1|
|00000200| 39 38 38 0d 3b 09 09 09 | 09 55 46 61 69 6c 75 72 |988.;...|.UFailur|
|00000210| 65 2e 69 6e 63 31 2e 70 | 09 09 4e 6f 76 65 6d 62 |e.inc1.p|..Novemb|
|00000220| 65 72 20 31 2c 20 31 39 | 38 38 0d 3b 09 09 09 09 |er 1, 19|88.;....|
|00000230| 55 46 61 69 6c 75 72 65 | 2e 61 09 09 09 4e 6f 76 |UFailure|.a...Nov|
|00000240| 65 6d 62 65 72 20 31 2c | 20 31 39 38 38 0d 3b 09 |ember 1,| 1988.;.|
|00000250| 09 09 09 54 65 73 74 43 | 69 67 6e 61 6c 2e 63 09 |...TestC|ignal.c.|
|00000260| 09 4e 6f 76 65 6d 62 65 | 72 20 31 2c 20 31 39 38 |.Novembe|r 1, 198|
|00000270| 38 0d 3b 09 09 09 09 54 | 65 73 74 43 69 67 6e 61 |8.;....T|estCigna|
|00000280| 6c 2e 6d 61 6b 65 09 09 | 4e 6f 76 65 6d 62 65 72 |l.make..|November|
|00000290| 20 31 2c 20 31 39 38 38 | 0d 3b 09 09 09 09 54 65 | 1, 1988|.;....Te|
|000002a0| 73 74 53 69 67 6e 61 6c | 2e 70 09 09 4e 6f 76 65 |stSignal|.p..Nove|
|000002b0| 6d 62 65 72 20 31 2c 20 | 31 39 38 38 0d 3b 09 09 |mber 1, |1988.;..|
|000002c0| 09 09 54 65 73 74 53 69 | 67 6e 61 6c 2e 6d 61 6b |..TestSi|gnal.mak|
|000002d0| 65 09 09 4e 6f 76 65 6d | 62 65 72 20 31 2c 20 31 |e..Novem|ber 1, 1|
|000002e0| 39 38 38 0d 3b 0d 3b 09 | 55 46 61 69 6c 75 72 65 |988.;.;.|UFailure|
|000002f0| 20 28 6f 72 20 53 69 67 | 6e 61 6c 73 29 20 69 73 | (or Sig|nals) is|
|00000300| 20 61 20 73 65 74 20 6f | 66 20 65 78 63 65 70 74 | a set o|f except|
|00000310| 69 6f 6e 20 68 61 6e 64 | 6c 69 6e 67 20 72 6f 75 |ion hand|ling rou|
|00000320| 74 69 6e 65 73 20 73 75 | 69 74 61 62 6c 65 20 66 |tines su|itable f|
|00000330| 6f 72 0d 3b 09 75 73 65 | 20 77 69 74 68 20 4d 61 |or.;.use| with Ma|
|00000340| 63 41 70 70 2c 20 4d 50 | 57 20 43 2c 20 61 6e 64 |cApp, MP|W C, and|
|00000350| 20 4d 50 57 20 50 61 73 | 63 61 6c 2e 20 49 74 20 | MPW Pas|cal. It |
|00000360| 69 73 20 61 20 6a 61 7a | 7a 65 64 2d 75 70 20 76 |is a jaz|zed-up v|
|00000370| 65 72 73 69 6f 6e 20 6f | 66 20 74 68 65 20 4d 61 |ersion o|f the Ma|
|00000380| 63 41 70 70 0d 3b 09 55 | 46 61 69 6c 75 72 65 20 |cApp.;.U|Failure |
|00000390| 75 6e 69 74 2e 20 54 68 | 65 72 65 20 69 73 20 61 |unit. Th|ere is a|
|000003a0| 20 73 65 74 20 6f 66 20 | 43 20 69 6e 74 65 72 66 | set of |C interf|
|000003b0| 61 63 65 73 20 74 6f 20 | 69 74 20 61 73 20 77 65 |aces to |it as we|
|000003c0| 6c 6c 2e 0d 3b 0d 0d 09 | 09 09 50 52 49 4e 54 09 |ll..;...|..PRINT.|
|000003d0| 4f 46 46 0d 09 09 09 49 | 4e 43 4c 55 44 45 09 27 |OFF....I|NCLUDE.'|
|000003e0| 54 72 61 70 73 2e 61 27 | 0d 09 09 09 50 52 49 4e |Traps.a'|....PRIN|
|000003f0| 54 09 4f 4e 0d 09 09 09 | 0d 09 09 09 53 54 52 49 |T.ON....|....STRI|
|00000400| 4e 47 09 41 53 49 53 0d | 0d 3b 3d 3d 3d 3d 3d 3d |NG.ASIS.|.;======|
|00000410| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000420| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000430| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000440| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000450| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000460| 3d 3d 3d 3d 3d 3d 3d 0d | 09 09 09 47 62 6c 41 09 |=======.|...GblA.|
|00000470| 26 55 73 69 6e 67 4d 61 | 63 41 70 70 0d 09 49 66 |&UsingMa|cApp..If|
|00000480| 09 09 26 54 59 50 45 28 | 27 26 44 65 62 75 67 67 |..&TYPE(|'&Debugg|
|00000490| 69 6e 67 27 29 20 3d 20 | 27 55 4e 44 45 46 49 4e |ing') = |'UNDEFIN|
|000004a0| 45 44 27 20 54 68 65 6e | 0d 09 09 09 47 62 6c 41 |ED' Then|....GblA|
|000004b0| 09 26 44 65 62 75 67 67 | 69 6e 67 0d 26 55 73 69 |.&Debugg|ing.&Usi|
|000004c0| 6e 67 4d 61 63 41 70 70 | 09 53 65 74 41 09 30 09 |ngMacApp|.SetA.0.|
|000004d0| 09 09 3b 20 77 65 20 61 | 73 73 75 6d 65 20 77 65 |..; we a|ssume we|
|000004e0| d5 72 65 20 4d 61 63 41 | 70 70 6c 65 73 73 20 69 |.re MacA|ppless i|
|000004f0| 66 20 26 44 65 62 75 67 | 67 69 6e 67 20 69 73 6e |f &Debug|ging isn|
|00000500| d5 74 20 64 65 66 69 6e | 65 64 20 0d 09 09 49 66 |.t defin|ed ...If|
|00000510| 09 09 26 54 59 50 45 28 | 27 26 44 65 62 75 67 27 |..&TYPE(|'&Debug'|
|00000520| 29 20 3d 20 27 55 4e 44 | 45 46 49 4e 45 44 27 20 |) = 'UND|EFINED' |
|00000530| 54 68 65 6e 0d 26 44 65 | 62 75 67 67 69 6e 67 09 |Then.&De|bugging.|
|00000540| 53 65 74 41 09 30 09 09 | 09 3b 20 64 65 66 61 75 |SetA.0..|.; defau|
|00000550| 6c 74 20 74 6f 20 64 65 | 62 75 67 67 69 6e 67 20 |lt to de|bugging |
|00000560| 6f 66 66 0d 09 09 45 6c | 73 65 0d 26 44 65 62 75 |off...El|se.&Debu|
|00000570| 67 67 69 6e 67 09 53 65 | 74 41 09 26 44 65 62 75 |gging.Se|tA.&Debu|
|00000580| 67 09 09 3b 20 75 73 65 | 20 74 68 65 20 6d 61 6b |g..; use| the mak|
|00000590| 65 66 69 6c 65 20 64 65 | 66 69 6e 69 74 69 6f 6e |efile de|finition|
|000005a0| 20 6f 66 20 26 44 65 62 | 75 67 0d 09 09 45 6e 64 | of &Deb|ug...End|
|000005b0| 49 66 0d 09 45 6c 73 65 | 09 0d 26 55 73 69 6e 67 |If..Else|..&Using|
|000005c0| 4d 61 63 41 70 70 09 53 | 65 74 41 09 31 09 09 09 |MacApp.S|etA.1...|
|000005d0| 3b 20 77 65 20 61 73 73 | 75 6d 65 20 77 65 20 68 |; we ass|ume we h|
|000005e0| 61 76 65 20 4d 41 20 69 | 66 20 26 44 65 62 75 67 |ave MA i|f &Debug|
|000005f0| 67 69 6e 67 20 69 73 20 | 64 65 66 69 6e 65 64 20 |ging is |defined |
|00000600| 0d 09 45 6e 64 49 66 0d | 3b 3d 3d 3d 3d 3d 3d 3d |..EndIf.|;=======|
|00000610| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000620| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000630| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000640| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000650| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000660| 3d 3d 3d 3d 3d 3d 0d 09 | 49 66 09 09 26 54 59 50 |======..|If..&TYP|
|00000670| 45 28 27 48 65 61 64 27 | 29 20 3d 20 27 55 4e 44 |E('Head'|) = 'UND|
|00000680| 45 46 49 4e 45 44 27 20 | 54 68 65 6e 0d 09 09 4d |EFINED' |Then...M|
|00000690| 61 63 72 6f 09 0d 09 09 | 48 65 61 64 0d 09 09 09 |acro....|Head....|
|000006a0| 09 47 62 6c 41 09 26 44 | 65 62 75 67 67 69 6e 67 |.GblA.&D|ebugging|
|000006b0| 0d 09 09 09 49 66 20 20 | 26 44 65 62 75 67 67 69 |....If |&Debuggi|
|000006c0| 6e 67 20 54 68 65 6e 0d | 09 09 09 09 4c 69 6e 6b |ng Then.|....Link|
|000006d0| 09 41 36 2c 23 30 09 09 | 3b 20 54 68 65 73 65 20 |.A6,#0..|; These |
|000006e0| 74 77 6f 20 69 6e 73 74 | 72 75 63 74 69 6f 6e 73 |two inst|ructions|
|000006f0| 20 66 6f 72 6d 20 61 20 | 73 6c 6f 77 20 6e 6f 2d | form a |slow no-|
|00000700| 6f 70 0d 09 09 09 09 4d | 6f 76 65 2e 4c 09 28 53 |op.....M|ove.L.(S|
|00000710| 50 29 2b 2c 41 36 0d 09 | 09 09 45 6e 64 49 66 0d |P)+,A6..|..EndIf.|
|00000720| 09 09 45 6e 64 4d 0d 09 | 45 6e 64 49 66 0d 3b 3d |..EndM..|EndIf.;=|
|00000730| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000740| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000750| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000760| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000770| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000780| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 0d 09 49 66 |========|====..If|
|00000790| 09 09 26 54 59 50 45 28 | 27 54 61 69 6c 27 29 20 |..&TYPE(|'Tail') |
|000007a0| 3d 20 27 55 4e 44 45 46 | 49 4e 45 44 27 20 54 68 |= 'UNDEF|INED' Th|
|000007b0| 65 6e 0d 09 09 4d 61 63 | 72 6f 09 0d 09 09 54 61 |en...Mac|ro....Ta|
|000007c0| 69 6c 0d 09 09 09 09 47 | 62 6c 41 09 26 44 65 62 |il.....G|blA.&Deb|
|000007d0| 75 67 67 69 6e 67 0d 09 | 09 09 49 66 20 20 26 44 |ugging..|..If &D|
|000007e0| 65 62 75 67 67 69 6e 67 | 20 54 68 65 6e 0d 09 09 |ebugging| Then...|
|000007f0| 09 09 55 6e 6c 6b 09 41 | 36 0d 09 09 09 09 52 74 |..Unlk.A|6.....Rt|
|00000800| 73 0d 09 09 09 09 44 43 | 2e 42 09 26 4f 72 64 28 |s.....DC|.B.&Ord(|
|00000810| 26 53 75 62 53 74 72 28 | 26 53 79 73 6c 73 74 5b |&SubStr(|&Syslst[|
|00000820| 31 5d 2c 32 2c 31 29 29 | 20 2b 20 24 38 30 0d 09 |1],2,1))| + $80..|
|00000830| 09 09 09 44 43 2e 42 09 | 27 26 53 75 62 53 74 72 |...DC.B.|'&SubStr|
|00000840| 28 26 53 79 73 6c 73 74 | 5b 31 5d 2c 33 2c 37 29 |(&Syslst|[1],3,7)|
|00000850| 27 0d 09 09 09 45 6e 64 | 49 66 0d 09 09 45 6e 64 |'....End|If...End|
|00000860| 4d 0d 09 45 6e 64 49 66 | 0d 3b 3d 3d 3d 3d 3d 3d |M..EndIf|.;======|
|00000870| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000880| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|00000890| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000008a0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000008b0| 3d 3d 3d 3d 3d 3d 3d 3d | 3d 3d 3d 3d 3d 3d 3d 3d |========|========|
|000008c0| 3d 3d 3d 3d 3d 3d 3d 0d | 09 09 0d 3b 20 74 68 65 |=======.|...; the|
|000008d0| 20 66 6f 6c 6c 6f 77 69 | 6e 67 20 63 6f 6e 73 74 | followi|ng const|
|000008e0| 61 6e 74 20 73 65 74 73 | 20 74 68 65 20 6c 69 6d |ant sets| the lim|
|000008f0| 69 74 20 6f 6e 20 74 68 | 65 20 64 65 70 74 68 20 |it on th|e depth |
|00000900| 6f 66 20 6e 65 73 74 65 | 64 20 43 61 74 63 68 53 |of neste|d CatchS|
|00000910| 69 67 6e 61 6c 73 0d 53 | 69 67 42 6c 6f 63 6b 53 |ignals.S|igBlockS|
|00000920| 69 7a 65 20 45 51 55 09 | 38 09 09 09 09 09 09 09 |ize EQU.|8.......|
|00000930| 3b 6e 75 6d 62 65 72 20 | 6f 66 20 65 6c 65 6d 65 |;number |of eleme|
|00000940| 6e 74 73 20 69 6e 20 62 | 6c 6f 63 6b 0d 0d 43 61 |nts in b|lock..Ca|
|00000950| 74 63 68 53 69 67 45 72 | 72 09 45 51 55 09 09 32 |tchSigEr|r.EQU..2|
|00000960| 30 30 09 09 09 09 09 09 | 09 3b 22 69 6e 73 75 66 |00......|.;"insuf|
|00000970| 66 69 63 69 65 6e 74 20 | 68 65 61 70 22 20 6d 65 |ficient |heap" me|
|00000980| 73 73 61 67 65 0d 53 69 | 67 45 6c 53 69 7a 65 09 |ssage.Si|gElSize.|
|00000990| 45 51 55 09 09 37 32 09 | 09 09 09 09 09 09 3b 62 |EQU..72.|......;b|
|000009a0| 79 74 65 20 73 69 7a 65 | 20 6f 66 20 46 61 69 6c |yte size| of Fail|
|000009b0| 49 6e 66 6f 20 72 65 63 | 6f 72 64 0d 46 72 61 6d |Info rec|ord.Fram|
|000009c0| 65 52 65 74 09 45 51 55 | 09 09 34 09 09 09 09 09 |eRet.EQU|..4.....|
|000009d0| 09 09 3b 72 65 74 75 72 | 6e 20 61 64 64 72 2e 20 |..;retur|n addr. |
|000009e0| 66 6f 72 20 66 72 61 6d | 65 20 28 6f 66 66 20 41 |for fram|e (off A|
|000009f0| 36 29 0d 53 69 67 42 69 | 67 41 36 09 45 51 55 09 |6).SigBi|gA6.EQU.|
|00000a00| 09 24 46 46 46 46 46 46 | 46 46 09 09 09 09 09 3b |.$FFFFFF|FF.....;|
|00000a10| 41 36 20 61 74 20 6f 75 | 74 65 72 20 6c 65 76 65 |A6 at ou|ter leve|
|00000a20| 6c 20 28 66 6f 72 20 50 | 61 73 63 61 6c 29 0d 6e |l (for P|ascal).n|
|00000a30| 53 61 76 65 64 52 65 67 | 73 09 45 51 55 20 09 31 |SavedReg|s.EQU .1|
|00000a40| 31 09 09 09 09 09 09 09 | 3b 6e 75 6d 62 65 72 20 |1.......|;number |
|00000a50| 6f 66 20 72 65 67 69 73 | 74 65 72 73 20 73 61 76 |of regis|ters sav|
|00000a60| 65 64 20 69 6e 20 46 61 | 69 6c 49 6e 66 6f 20 72 |ed in Fa|ilInfo r|
|00000a70| 65 63 6f 72 64 0d 0d 3b | 20 6f 66 66 73 65 74 73 |ecord..;| offsets|
|00000a80| 20 69 6e 74 6f 20 74 68 | 65 20 46 61 69 6c 49 6e | into th|e FailIn|
|00000a90| 66 6f 20 72 65 63 6f 72 | 64 20 28 73 65 65 20 55 |fo recor|d (see U|
|00000aa0| 46 61 69 6c 75 72 65 2e | 70 29 0d 53 69 67 41 36 |Failure.|p).SigA6|
|00000ab0| 09 09 45 51 55 09 09 33 | 36 0d 53 69 67 53 50 09 |..EQU..3|6.SigSP.|
|00000ac0| 09 45 51 55 09 09 34 30 | 0d 53 69 67 43 6f 64 65 |.EQU..40|.SigCode|
|00000ad0| 09 09 45 51 55 09 09 34 | 34 0d 53 69 67 4d 65 73 |..EQU..4|4.SigMes|
|00000ae0| 73 61 67 65 09 45 51 55 | 09 09 34 36 0d 53 69 67 |sage.EQU|..46.Sig|
|00000af0| 46 61 69 6c 41 36 09 45 | 51 55 09 09 35 30 0d 53 |FailA6.E|QU..50.S|
|00000b00| 69 67 46 61 69 6c 50 43 | 09 45 51 55 09 09 35 34 |igFailPC|.EQU..54|
|00000b10| 0d 77 68 61 74 53 69 67 | 6e 61 6c 73 09 45 51 55 |.whatSig|nals.EQU|
|00000b20| 09 09 36 36 0d 53 69 67 | 46 52 65 74 09 09 45 51 |..66.Sig|FRet..EQ|
|00000b30| 55 09 09 36 38 0d 0d 09 | 0d 3b 20 54 68 65 20 67 |U..68...|.; The g|
|00000b40| 6c 6f 62 61 6c 20 64 61 | 74 61 20 75 73 65 64 20 |lobal da|ta used |
|00000b50| 62 79 20 74 68 65 73 65 | 20 72 6f 75 74 69 6e 65 |by these| routine|
|00000b60| 73 20 66 6f 6c 6c 6f 77 | 73 2e 20 49 74 20 69 73 |s follow|s. It is|
|00000b70| 20 69 6e 20 74 68 65 20 | 66 6f 72 6d 20 6f 66 20 | in the |form of |
|00000b80| 61 20 0d 3b 20 52 45 43 | 4f 52 44 2c 20 62 75 74 |a .; REC|ORD, but|
|00000b90| 2c 20 75 6e 6c 69 6b 65 | 20 61 62 6f 76 65 2c 20 |, unlike| above, |
|00000ba0| 6e 6f 20 6f 72 69 67 69 | 6e 20 69 73 20 73 70 65 |no origi|n is spe|
|00000bb0| 63 69 66 69 65 64 2c 20 | 77 68 69 63 68 20 6d 65 |cified, |which me|
|00000bc0| 61 6e 73 20 74 68 61 74 | 20 6d 65 6d 6f 72 79 20 |ans that| memory |
|00000bd0| 0d 3b 20 73 70 61 63 65 | 20 2a 77 69 6c 6c 2a 20 |.; space| *will* |
|00000be0| 62 65 20 61 6c 6c 6f 63 | 61 74 65 64 2e 0d 3b 20 |be alloc|ated..; |
|00000bf0| 54 68 69 73 20 64 61 74 | 61 20 69 73 20 72 65 66 |This dat|a is ref|
|00000c00| 65 72 65 6e 63 65 64 20 | 74 68 72 6f 75 67 68 20 |erenced |through |
|00000c10| 61 20 57 49 54 48 20 73 | 74 61 74 65 6d 65 6e 74 |a WITH s|tatement|
|00000c20| 20 61 74 20 74 68 65 20 | 62 65 67 69 6e 6e 69 6e | at the |beginnin|
|00000c30| 67 20 6f 66 20 74 68 65 | 20 0d 3b 20 70 72 6f 63 |g of the| .; proc|
|00000c40| 73 20 74 68 61 74 20 6e | 65 65 64 20 74 6f 20 67 |s that n|eed to g|
|00000c50| 65 74 20 61 74 20 74 68 | 69 73 20 64 61 74 61 2e |et at th|is data.|
|00000c60| 20 53 69 6e 63 65 20 74 | 68 65 20 41 73 73 65 6d | Since t|he Assem|
|00000c70| 62 6c 65 72 20 6b 6e 6f | 77 73 20 77 68 65 6e 20 |bler kno|ws when |
|00000c80| 69 74 20 69 73 20 0d 3b | 20 72 65 66 65 72 65 6e |it is .;| referen|
|00000c90| 63 69 6e 67 20 64 61 74 | 61 20 69 6e 20 61 20 64 |cing dat|a in a d|
|00000ca0| 61 74 61 20 6d 6f 64 75 | 6c 65 20 28 73 69 6e 63 |ata modu|le (sinc|
|00000cb0| 65 20 74 68 65 79 20 6d | 75 73 74 20 62 65 20 64 |e they m|ust be d|
|00000cc0| 65 63 6c 61 72 65 64 20 | 62 65 66 6f 72 65 20 74 |eclared |before t|
|00000cd0| 68 65 79 20 0d 3b 20 61 | 72 65 20 61 63 63 65 73 |hey .; a|re acces|
|00000ce0| 73 65 64 29 2c 20 61 6e | 64 20 73 69 6e 63 65 20 |sed), an|d since |
|00000cf0| 73 75 63 68 20 64 61 74 | 61 20 63 61 6e 20 6f 6e |such dat|a can on|
|00000d00| 6c 79 20 62 65 20 61 63 | 63 65 73 73 65 64 20 62 |ly be ac|cessed b|
|00000d10| 61 73 65 64 20 6f 6e 20 | 41 35 2c 20 74 68 65 72 |ased on |A5, ther|
|00000d20| 65 20 0d 3b 20 69 73 20 | 6e 6f 20 6e 65 65 64 20 |e .; is |no need |
|00000d30| 74 6f 20 65 78 70 6c 69 | 63 69 74 6c 79 20 73 70 |to expli|citly sp|
|00000d40| 65 63 69 66 79 20 41 35 | 20 69 6e 20 61 6e 79 20 |ecify A5| in any |
|00000d50| 63 6f 64 65 20 77 68 69 | 63 68 20 72 65 66 65 72 |code whi|ch refer|
|00000d60| 65 6e 63 65 73 20 74 68 | 65 20 64 61 74 61 20 0d |ences th|e data .|
|00000d70| 3b 20 28 75 6e 6c 65 73 | 73 20 69 6e 64 65 78 69 |; (unles|s indexi|
|00000d80| 6e 67 20 69 73 20 75 73 | 65 64 29 2e 20 20 54 68 |ng is us|ed). Th|
|00000d90| 75 73 2c 20 69 6e 20 74 | 68 69 73 20 70 72 6f 67 |us, in t|his prog|
|00000da0| 72 61 6d 20 77 65 20 68 | 61 76 65 20 6f 6d 69 74 |ram we h|ave omit|
|00000db0| 74 65 64 20 61 6c 6c 20 | 41 35 20 0d 3b 20 72 65 |ted all |A5 .; re|
|00000dc0| 66 65 72 65 6e 63 65 73 | 20 77 68 65 6e 20 72 65 |ferences| when re|
|00000dd0| 66 65 72 65 6e 63 69 6e | 67 20 74 68 65 20 64 61 |ferencin|g the da|
|00000de0| 74 61 2e 0d 0d 53 69 67 | 47 6c 6f 62 61 6c 73 20 |ta...Sig|Globals |
|00000df0| 52 45 43 4f 52 44 09 09 | 3b 6e 6f 20 6f 72 69 67 |RECORD..|;no orig|
|00000e00| 69 6e 20 6d 65 61 6e 73 | 20 74 68 69 73 20 69 73 |in means| this is|
|00000e10| 20 61 20 64 61 74 61 20 | 72 65 63 6f 72 64 0d 09 | a data |record..|
|00000e20| 09 09 09 09 09 3b 6e 6f | 74 20 61 20 74 65 6d 70 |.....;no|t a temp|
|00000e30| 6c 61 74 65 28 61 73 20 | 61 62 6f 76 65 29 0d 53 |late(as |above).S|
|00000e40| 69 67 45 6e 64 09 09 44 | 53 2e 4c 09 31 09 3b 63 |igEnd..D|S.L.1.;c|
|00000e50| 75 72 72 65 6e 74 20 65 | 6e 64 20 6f 66 20 74 61 |urrent e|nd of ta|
|00000e60| 62 6c 65 0d 53 69 67 4e | 6f 77 09 09 44 53 2e 4c |ble.SigN|ow..DS.L|
|00000e70| 09 31 09 3b 74 68 65 20 | 63 75 72 72 65 6e 74 20 |.1.;the |current |
|00000e80| 6f 66 66 73 65 74 0d 53 | 69 67 50 6f 69 6e 74 65 |offset.S|igPointe|
|00000e90| 72 09 44 43 2e 4c 09 30 | 09 3b 74 68 65 20 68 61 |r.DC.L.0|.;the ha|
|00000ea0| 6e 64 6c 65 20 3a 3d 20 | 30 20 69 6e 69 74 69 61 |ndle := |0 initia|
|00000eb0| 6c 6c 79 0d 09 09 09 45 | 4e 44 52 09 0d 0d 0d 09 |lly....E|NDR.....|
|00000ec0| 09 49 66 20 20 26 55 73 | 69 6e 67 4d 61 63 41 70 |.If &Us|ingMacAp|
|00000ed0| 70 20 54 68 65 6e 0d 09 | 09 09 53 65 67 20 09 27 |p Then..|..Seg .'|
|00000ee0| 4d 41 49 6e 69 74 27 0d | 09 09 45 6e 64 49 66 0d |MAInit'.|..EndIf.|
|00000ef0| 49 6e 69 74 53 69 67 6e | 61 6c 73 09 50 52 4f 43 |InitSign|als.PROC|
|00000f00| 09 45 58 50 4f 52 54 09 | 09 09 09 09 09 3b 50 52 |.EXPORT.|.....;PR|
|00000f10| 4f 43 45 44 55 52 45 20 | 49 6e 69 74 53 69 67 6e |OCEDURE |InitSign|
|00000f20| 61 6c 73 3b 0d 09 09 09 | 45 58 50 4f 52 54 09 49 |als;....|EXPORT.I|
|00000f30| 6e 69 74 55 46 61 69 6c | 75 72 65 0d 09 09 09 49 |nitUFail|ure....I|
|00000f40| 4d 50 4f 52 54 09 67 54 | 6f 70 48 61 6e 64 6c 65 |MPORT.gT|opHandle|
|00000f50| 72 3a 44 61 74 61 0d 09 | 09 09 49 4d 50 4f 52 54 |r:Data..|..IMPORT|
|00000f60| 09 67 49 6e 69 74 48 61 | 6e 64 6c 65 72 3a 44 61 |.gInitHa|ndler:Da|
|00000f70| 74 61 0d 09 09 49 66 20 | 20 26 55 73 69 6e 67 4d |ta...If | &UsingM|
|00000f80| 61 63 41 70 70 20 41 6e | 64 20 26 44 65 62 75 67 |acApp An|d &Debug|
|00000f90| 67 69 6e 67 20 54 68 65 | 6e 0d 09 09 09 49 4d 50 |ging The|n....IMP|
|00000fa0| 4f 52 54 09 67 41 73 6b | 41 62 6f 75 74 41 6c 6c |ORT.gAsk|AboutAll|
|00000fb0| 6f 63 3a 44 61 74 61 0d | 09 09 09 49 4d 50 4f 52 |oc:Data.|...IMPOR|
|00000fc0| 54 09 67 41 73 6b 46 61 | 69 6c 75 72 65 3a 44 61 |T.gAskFa|ilure:Da|
|00000fd0| 74 61 0d 09 09 45 6e 64 | 49 66 0d 09 09 09 57 49 |ta...End|If....WI|
|00000fe0| 54 48 09 53 69 67 47 6c | 6f 62 61 6c 73 0d 3b 74 |TH.SigGl|obals.;t|
|00000ff0| 68 65 20 61 62 6f 76 65 | 20 73 74 61 74 65 6d 65 |he above| stateme|
|00001000| 6e 74 20 6d 61 6b 65 73 | 20 74 68 65 20 74 65 6d |nt makes| the tem|
|00001010| 70 6c 61 74 65 20 53 69 | 67 45 6c 65 6d 65 6e 74 |plate Si|gElement|
|00001020| 20 61 6e 64 20 74 68 65 | 20 67 6c 6f 62 61 6c 20 | and the| global |
|00001030| 64 61 74 61 20 0d 3b 72 | 65 63 6f 72 64 20 53 69 |data .;r|ecord Si|
|00001040| 67 47 6c 6f 62 61 6c 73 | 20 61 76 61 69 6c 61 62 |gGlobals| availab|
|00001050| 6c 65 20 74 6f 20 74 68 | 69 73 20 70 72 6f 63 65 |le to th|is proce|
|00001060| 64 75 72 65 0d 20 0d 20 | 09 09 09 48 65 61 64 0d |dure. . |...Head.|
|00001070| 09 09 09 4d 4f 56 45 2e | 4c 09 23 53 69 67 42 69 |...MOVE.|L.#SigBi|
|00001080| 67 41 36 2c 41 36 09 09 | 09 09 3b 6d 61 6b 65 20 |gA6,A6..|..;make |
|00001090| 41 36 20 76 61 6c 69 64 | 20 66 6f 72 20 53 69 67 |A6 valid| for Sig|
|000010a0| 6e 61 6c 0d 49 6e 69 74 | 55 46 61 69 6c 75 72 65 |nal.Init|UFailure|
|000010b0| 09 09 09 09 09 09 09 09 | 09 3b 50 52 4f 43 45 44 |........|.;PROCED|
|000010c0| 55 52 45 20 49 6e 69 74 | 55 46 61 69 6c 75 72 65 |URE Init|UFailure|
|000010d0| 3b 0d 09 09 09 43 4c 52 | 2e 4c 09 67 54 6f 70 48 |;....CLR|.L.gTopH|
|000010e0| 61 6e 64 6c 65 72 28 41 | 35 29 09 09 09 09 3b 6e |andler(A|5)....;n|
|000010f0| 6f 74 68 69 6e 67 20 69 | 6e 20 74 68 65 20 6c 69 |othing i|n the li|
|00001100| 73 74 0d 09 09 09 43 4c | 52 2e 4c 09 67 49 6e 69 |st....CL|R.L.gIni|
|00001110| 74 48 61 6e 64 6c 65 72 | 28 41 35 29 09 09 09 3b |tHandler|(A5)...;|
|00001120| 4d 41 20 68 61 73 20 61 | 6e 6f 74 68 65 72 20 6c |MA has a|nother l|
|00001130| 69 73 74 20 64 75 72 69 | 6e 67 20 69 6e 69 74 69 |ist duri|ng initi|
|00001140| 61 6c 69 7a 61 74 69 6f | 6e 0d 09 09 49 66 20 20 |alizatio|n...If |
|00001150| 26 55 73 69 6e 67 4d 61 | 63 41 70 70 20 41 6e 64 |&UsingMa|cApp And|
|00001160| 20 26 44 65 62 75 67 67 | 69 6e 67 20 54 68 65 6e | &Debugg|ing Then|
|00001170| 0d 09 09 09 43 4c 52 2e | 42 09 67 41 73 6b 41 62 |....CLR.|B.gAskAb|
|00001180| 6f 75 74 41 6c 6c 6f 63 | 28 41 35 29 09 09 09 3b |outAlloc|(A5)...;|
|00001190| 73 65 74 20 74 68 65 20 | 4d 41 20 64 65 62 75 67 |set the |MA debug|
|000011a0| 67 69 6e 67 20 67 75 79 | 73 20 74 6f 20 46 41 4c |ging guy|s to FAL|
|000011b0| 53 45 0d 09 09 09 43 4c | 52 2e 42 09 67 41 73 6b |SE....CL|R.B.gAsk|
|000011c0| 46 61 69 6c 75 72 65 28 | 41 35 29 0d 09 09 45 6e |Failure(|A5)...En|
|000011d0| 64 49 66 0d 0d 09 09 09 | 4d 4f 56 45 2e 4c 09 23 |dIf.....|MOVE.L.#|
|000011e0| 53 69 67 42 6c 6f 63 6b | 53 69 7a 65 2a 53 69 67 |SigBlock|Size*Sig|
|000011f0| 45 6c 53 69 7a 65 2c 44 | 30 0d 09 09 09 5f 4e 65 |ElSize,D|0...._Ne|
|00001200| 77 50 74 72 09 09 09 09 | 09 09 09 09 3b 74 72 79 |wPtr....|....;try|
|00001210| 20 74 6f 20 67 65 74 20 | 61 20 74 61 62 6c 65 0d | to get |a table.|
|00001220| 09 09 09 42 4e 45 2e 53 | 09 66 6f 72 67 65 74 69 |...BNE.S|.forgeti|
|00001230| 74 09 09 09 09 09 3b 77 | 65 20 63 6f 75 6c 64 6e |t.....;w|e couldn|
|00001240| 27 74 20 67 65 74 20 74 | 68 61 74 21 3f 0d 09 09 |'t get t|hat!?...|
|00001250| 09 0d 09 09 09 4d 4f 56 | 45 2e 4c 09 41 30 2c 53 |.....MOV|E.L.A0,S|
|00001260| 69 67 50 6f 69 6e 74 65 | 72 09 09 09 09 3b 73 61 |igPointe|r....;sa|
|00001270| 76 65 20 69 74 0d 09 09 | 09 4d 4f 56 45 2e 4c 09 |ve it...|.MOVE.L.|
|00001280| 23 2d 53 69 67 45 6c 53 | 69 7a 65 2c 53 69 67 4e |#-SigElS|ize,SigN|
|00001290| 6f 77 09 09 09 3b 70 6f | 69 6e 74 20 22 6e 6f 77 |ow...;po|int "now|
|000012a0| 22 20 62 65 66 6f 72 65 | 20 73 74 61 72 74 0d 09 |" before| start..|
|000012b0| 09 09 4d 4f 56 45 2e 4c | 09 23 53 69 67 42 6c 6f |..MOVE.L|.#SigBlo|
|000012c0| 63 6b 53 69 7a 65 2a 53 | 69 67 45 6c 53 69 7a 65 |ckSize*S|igElSize|
|000012d0| 2c 53 69 67 45 6e 64 20 | 3b 73 61 76 65 20 74 68 |,SigEnd |;save th|
|000012e0| 65 20 65 6e 64 0d 66 6f | 72 67 65 74 69 74 09 52 |e end.fo|rgetit.R|
|000012f0| 54 53 0d 09 09 0d 09 09 | 09 54 61 69 6c 09 27 49 |TS......|.Tail.'I|
|00001300| 4e 49 54 55 46 41 49 27 | 0d 09 09 09 45 4e 44 50 |NITUFAI'|....ENDP|
|00001310| 0d 0d 0d 09 09 49 66 20 | 20 26 55 73 69 6e 67 4d |.....If | &UsingM|
|00001320| 61 63 41 70 70 20 54 68 | 65 6e 0d 09 09 09 53 65 |acApp Th|en....Se|
|00001330| 67 20 09 27 4d 41 4d 61 | 69 6e 27 0d 09 09 45 6e |g .'MAMa|in'...En|
|00001340| 64 49 66 0d 43 61 74 63 | 68 43 46 61 69 6c 75 72 |dIf.Catc|hCFailur|
|00001350| 65 73 20 50 52 4f 43 09 | 45 58 50 4f 52 54 09 09 |es PROC.|EXPORT..|
|00001360| 09 09 09 09 3b 70 61 73 | 63 61 6c 20 76 6f 69 64 |....;pas|cal void|
|00001370| 20 43 61 74 63 68 43 46 | 61 69 6c 75 72 65 73 28 | CatchCF|ailures(|
|00001380| 46 61 69 6c 49 6e 66 6f | 20 26 66 69 2c 20 48 61 |FailInfo| &fi, Ha|
|00001390| 6e 64 6c 65 72 46 75 6e | 63 50 74 72 20 68 61 6e |ndlerFun|cPtr han|
|000013a0| 64 6c 65 72 29 3b 0d 09 | 09 09 49 4d 50 4f 52 54 |dler);..|..IMPORT|
|000013b0| 09 46 61 69 6c 43 45 6e | 74 72 79 0d 09 09 09 0d |.FailCEn|try.....|
|000013c0| 09 09 09 48 65 61 64 0d | 09 09 09 4d 4f 56 45 2e |...Head.|...MOVE.|
|000013d0| 4c 09 28 41 37 29 2b 2c | 44 32 09 09 09 09 09 3b |L.(A7)+,|D2.....;|
|000013e0| 73 61 76 65 20 72 65 74 | 75 72 6e 20 61 64 64 72 |save ret|urn addr|
|000013f0| 65 73 73 0d 09 09 09 4d | 4f 56 45 51 09 23 30 2c |ess....M|OVEQ.#0,|
|00001400| 44 31 09 09 09 09 09 09 | 3b 43 61 74 63 68 43 46 |D1......|;CatchCF|
|00001410| 61 69 6c 75 72 65 73 20 | 75 73 65 64 20 20 28 6e |ailures |used (n|
|00001420| 6f 20 41 36 20 6c 69 6e | 6b 2c 20 75 73 65 73 20 |o A6 lin|k, uses |
|00001430| 68 61 6e 64 6c 65 72 20 | 70 72 6f 63 2e 29 0d 09 |handler |proc.)..|
|00001440| 09 09 42 52 41 2e 53 09 | 46 61 69 6c 43 45 6e 74 |..BRA.S.|FailCEnt|
|00001450| 72 79 09 09 09 09 09 3b | 66 69 6e 69 73 68 20 66 |ry.....;|finish f|
|00001460| 72 6f 6d 20 43 61 74 63 | 68 46 61 69 6c 75 72 65 |rom Catc|hFailure|
|00001470| 73 0d 09 09 09 54 61 69 | 6c 09 27 43 41 54 43 48 |s....Tai|l.'CATCH|
|00001480| 43 46 41 27 0d 0d 43 61 | 74 63 68 46 61 69 6c 75 |CFA'..Ca|tchFailu|
|00001490| 72 65 73 20 50 52 4f 43 | 09 45 58 50 4f 52 54 09 |res PROC|.EXPORT.|
|000014a0| 09 09 09 09 09 3b 50 52 | 4f 43 45 44 55 52 45 20 |.....;PR|OCEDURE |
|000014b0| 43 61 74 63 68 46 61 69 | 6c 75 72 65 73 28 56 41 |CatchFai|lures(VA|
|000014c0| 52 20 66 69 3a 20 46 61 | 69 6c 49 6e 66 6f 3b 0d |R fi: Fa|ilInfo;.|
|000014d0| 3b 09 09 09 09 09 09 09 | 09 09 09 09 09 09 50 52 |;.......|......PR|
|000014e0| 4f 43 45 44 55 52 45 20 | 48 61 6e 64 6c 65 72 28 |OCEDURE |Handler(|
|000014f0| 63 6f 64 65 3a 20 49 4e | 54 45 47 45 52 3b 20 6d |code: IN|TEGER; m|
|00001500| 65 73 73 61 67 65 3a 20 | 4c 4f 4e 47 49 4e 54 29 |essage: |LONGINT)|
|00001510| 29 3b 0d 09 09 09 49 4d | 50 4f 52 54 09 46 61 69 |);....IM|PORT.Fai|
|00001520| 6c 75 72 65 73 45 6e 74 | 72 79 0d 09 09 09 45 58 |luresEnt|ry....EX|
|00001530| 50 4f 52 54 09 46 61 69 | 6c 43 45 6e 74 72 79 0d |PORT.Fai|lCEntry.|
|00001540| 09 09 09 57 49 54 48 09 | 53 69 67 47 6c 6f 62 61 |...WITH.|SigGloba|
|00001550| 6c 73 0d 09 09 09 0d 09 | 09 09 48 65 61 64 0d 09 |ls......|..Head..|
|00001560| 09 09 4d 4f 56 45 2e 4c | 09 28 41 37 29 2b 2c 44 |..MOVE.L|.(A7)+,D|
|00001570| 32 09 09 09 09 09 3b 73 | 61 76 65 20 72 65 74 75 |2.....;s|ave retu|
|00001580| 72 6e 20 61 64 64 72 65 | 73 73 0d 09 09 09 41 44 |rn addre|ss....AD|
|00001590| 44 51 09 23 34 2c 41 37 | 09 09 09 09 09 09 3b 64 |DQ.#4,A7|......;d|
|000015a0| 69 73 63 61 72 64 20 41 | 36 20 6c 69 6e 6b 0d 09 |iscard A|6 link..|
|000015b0| 09 09 4d 4f 56 45 51 09 | 23 2d 31 2c 44 31 09 09 |..MOVEQ.|#-1,D1..|
|000015c0| 09 09 09 09 3b 43 61 74 | 63 68 46 61 69 6c 75 72 |....;Cat|chFailur|
|000015d0| 65 73 20 75 73 65 64 20 | 20 28 6d 61 79 62 65 20 |es used | (maybe |
|000015e0| 41 36 20 6c 69 6e 6b 3f | 3f 3f 2c 20 68 61 6e 64 |A6 link?|??, hand|
|000015f0| 6c 65 72 20 70 72 6f 63 | 2e 29 0d 46 61 69 6c 43 |ler proc|.).FailC|
|00001600| 45 6e 74 72 79 0d 09 09 | 09 4d 4f 56 45 2e 4c 09 |Entry...|.MOVE.L.|
|00001610| 28 41 37 29 2b 2c 41 31 | 09 09 09 09 09 3b 67 65 |(A7)+,A1|.....;ge|
|00001620| 74 20 68 61 6e 64 6c 65 | 72 20 61 64 64 72 65 73 |t handle|r addres|
|00001630| 73 0d 09 09 09 4d 4f 56 | 45 2e 4c 09 28 41 37 29 |s....MOV|E.L.(A7)|
|00001640| 2b 2c 41 30 09 09 09 09 | 09 3b 46 61 69 6c 49 6e |+,A0....|.;FailIn|
|00001650| 66 6f 20 72 65 63 6f 72 | 64 20 61 64 64 72 65 73 |fo recor|d addres|
|00001660| 73 0d 09 09 09 42 52 41 | 2e 53 09 46 61 69 6c 75 |s....BRA|.S.Failu|
|00001670| 72 65 73 45 6e 74 72 79 | 09 09 09 09 3b 65 6e 74 |resEntry|....;ent|
|00001680| 65 72 20 43 61 74 63 68 | 53 69 67 6e 61 6c 20 77 |er Catch|Signal w|
|00001690| 69 74 68 20 44 32 2c 20 | 41 30 2c 20 41 31 20 73 |ith D2, |A0, A1 s|
|000016a0| 65 74 0d 09 09 09 54 61 | 69 6c 09 27 43 41 54 43 |et....Ta|il.'CATC|
|000016b0| 48 46 41 49 27 0d 0d 43 | 61 74 63 68 53 69 67 6e |HFAI'..C|atchSign|
|000016c0| 61 6c 09 50 52 4f 43 09 | 45 58 50 4f 52 54 09 09 |al.PROC.|EXPORT..|
|000016d0| 09 09 09 09 3b 46 55 4e | 43 54 49 4f 4e 20 43 61 |....;FUN|CTION Ca|
|000016e0| 74 63 68 53 69 67 6e 61 | 6c 3a 49 4e 54 45 47 45 |tchSigna|l:INTEGE|
|000016f0| 52 0d 09 09 09 49 4d 50 | 4f 52 54 09 53 69 67 67 |R....IMP|ORT.Sigg|
|00001700| 79 50 6f 70 32 2c 53 69 | 67 6e 61 6c 2c 53 69 67 |yPop2,Si|gnal,Sig|
|00001710| 44 65 61 74 68 0d 09 09 | 09 49 4d 50 4f 52 54 09 |Death...|.IMPORT.|
|00001720| 67 54 6f 70 48 61 6e 64 | 6c 65 72 3a 44 61 74 61 |gTopHand|ler:Data|
|00001730| 0d 09 09 09 45 58 50 4f | 52 54 09 46 61 69 6c 75 |....EXPO|RT.Failu|
|00001740| 72 65 73 45 6e 74 72 79 | 0d 09 09 09 57 49 54 48 |resEntry|....WITH|
|00001750| 09 53 69 67 47 6c 6f 62 | 61 6c 73 0d 09 09 09 0d |.SigGlob|als.....|
|00001760| 09 09 09 48 65 61 64 0d | 09 09 09 4d 4f 56 45 2e |...Head.|...MOVE.|
|00001770| 4c 09 28 41 37 29 2b 2c | 41 31 09 09 09 09 09 3b |L.(A7)+,|A1.....;|
|00001780| 67 72 61 62 20 72 65 74 | 75 72 6e 20 61 64 64 72 |grab ret|urn addr|
|00001790| 65 73 73 20 66 6f 72 20 | d2 68 61 6e 64 6c 65 72 |ess for |.handler|
|000017a0| d3 20 61 64 64 72 65 73 | 73 0d 09 09 09 4d 4f 56 |. addres|s....MOV|
|000017b0| 45 2e 4c 09 41 31 2c 44 | 32 09 09 09 09 09 09 3b |E.L.A1,D|2......;|
|000017c0| 73 61 76 65 20 72 65 74 | 75 72 6e 20 61 64 64 72 |save ret|urn addr|
|000017d0| 65 73 73 0d 09 09 09 4d | 4f 56 45 51 09 23 31 2c |ess....M|OVEQ.#1,|
|000017e0| 44 31 09 09 09 09 09 09 | 3b 43 61 74 63 68 53 69 |D1......|;CatchSi|
|000017f0| 67 6e 61 6c 73 20 75 73 | 65 64 3b 20 6e 6f 20 41 |gnals us|ed; no A|
|00001800| 36 20 6c 69 6e 6b 20 6e | 65 65 64 65 64 20 6f 6e |6 link n|eeded on|
|00001810| 20 73 74 61 63 6b 2c 20 | 6e 6f 20 70 72 6f 63 2e | stack, |no proc.|
|00001820| 0d 09 09 09 43 4c 52 2e | 57 09 28 41 37 29 09 09 |....CLR.|W.(A7)..|
|00001830| 09 09 09 09 3b 6e 6f 20 | 65 72 72 6f 72 20 63 6f |....;no |error co|
|00001840| 64 65 20 28 62 65 66 6f | 72 65 20 69 74 73 20 74 |de (befo|re its t|
|00001850| 69 6d 65 29 0d 0d 09 09 | 09 4d 4f 56 45 2e 4c 09 |ime)....|.MOVE.L.|
|00001860| 53 69 67 50 6f 69 6e 74 | 65 72 2c 44 30 09 09 09 |SigPoint|er,D0...|
|00001870| 09 3b 70 6f 69 6e 74 20 | 74 6f 20 74 61 62 6c 65 |.;point |to table|
|00001880| 0d 09 09 09 42 45 51 09 | 09 53 69 67 44 65 61 74 |....BEQ.|.SigDeat|
|00001890| 68 0d 09 09 09 4d 4f 56 | 45 2e 4c 09 44 30 2c 41 |h....MOV|E.L.D0,A|
|000018a0| 30 0d 09 09 09 4d 4f 56 | 45 2e 4c 09 53 69 67 4e |0....MOV|E.L.SigN|
|000018b0| 6f 77 2c 44 30 0d 09 09 | 09 41 44 44 2e 4c 09 23 |ow,D0...|.ADD.L.#|
|000018c0| 53 69 67 45 6c 53 69 7a | 65 2c 44 30 0d 09 09 09 |SigElSiz|e,D0....|
|000018d0| 4d 4f 56 45 2e 4c 09 44 | 30 2c 53 69 67 4e 6f 77 |MOVE.L.D|0,SigNow|
|000018e0| 09 09 09 09 09 3b 73 61 | 76 65 20 6e 65 77 20 70 |.....;sa|ve new p|
|000018f0| 6f 73 69 74 69 6f 6e 0d | 09 09 09 43 4d 50 2e 4c |osition.|...CMP.L|
|00001900| 09 53 69 67 45 6e 64 2c | 44 30 09 09 09 09 09 3b |.SigEnd,|D0.....;|
|00001910| 68 61 76 65 20 77 65 20 | 72 65 61 63 68 65 64 20 |have we |reached |
|00001920| 74 68 65 20 65 6e 64 3f | 0d 09 09 09 42 4e 45 2e |the end?|....BNE.|
|00001930| 53 09 63 61 74 63 68 69 | 74 09 09 09 09 09 09 3b |S.catchi|t......;|
|00001940| 6e 6f 2c 20 70 72 6f 63 | 65 65 64 0d 09 09 09 0d |no, proc|eed.....|
|00001950| 3b 73 69 67 6e 61 6c 73 | 2c 20 77 65 20 75 73 65 |;signals|, we use|
|00001960| 20 27 65 6d 20 6f 75 72 | 73 65 6c 76 65 73 0d 09 | 'em our|selves..|
|00001970| 09 09 4d 4f 56 45 2e 4c | 09 53 69 67 4e 6f 77 2c |..MOVE.L|.SigNow,|
|00001980| 53 69 67 45 6e 64 09 09 | 09 09 3b 72 65 73 74 6f |SigEnd..|..;resto|
|00001990| 72 65 20 6f 6c 64 20 65 | 6e 64 69 6e 67 20 6f 66 |re old e|nding of|
|000019a0| 66 73 65 74 0d 09 09 09 | 4d 4f 56 45 2e 4c 09 23 |fset....|MOVE.L.#|
|000019b0| 53 69 67 45 6c 53 69 7a | 65 2c 44 30 0d 09 09 09 |SigElSiz|e,D0....|
|000019c0| 53 55 42 2e 4c 09 44 30 | 2c 53 69 67 4e 6f 77 09 |SUB.L.D0|,SigNow.|
|000019d0| 09 09 09 09 3b 64 69 74 | 74 6f 20 66 6f 72 20 63 |....;dit|to for c|
|000019e0| 75 72 72 65 6e 74 20 70 | 6f 73 69 74 69 6f 6e 0d |urrent p|osition.|
|000019f0| 09 09 09 4d 4f 56 45 2e | 57 09 23 43 61 74 63 68 |...MOVE.|W.#Catch|
|00001a00| 53 69 67 45 72 72 2c 34 | 28 41 37 29 09 09 09 3b |SigErr,4|(A7)...;|
|00001a10| 77 65 27 6c 6c 20 73 69 | 67 6e 61 6c 20 61 20 22 |we'll si|gnal a "|
|00001a20| 63 6f 75 6c 64 6e 27 74 | 0d 09 09 09 09 09 09 09 |couldn't|........|
|00001a30| 09 09 09 09 09 3b 20 20 | 63 61 74 63 68 22 20 65 |.....; |catch" e|
|00001a40| 72 72 6f 72 0d 09 09 09 | 4a 53 52 09 09 53 69 67 |rror....|JSR..Sig|
|00001a50| 6e 61 6c 09 09 09 09 09 | 09 3b 6e 65 76 65 72 20 |nal.....|.;never |
|00001a60| 72 65 74 75 72 6e 73 20 | 6f 66 20 63 6f 75 72 73 |returns |of cours|
|00001a70| 65 0d 09 09 09 09 09 0d | 63 61 74 63 68 69 74 09 |e.......|catchit.|
|00001a80| 09 0d 09 09 09 41 44 44 | 2e 4c 09 44 30 2c 41 30 |.....ADD|.L.D0,A0|
|00001a90| 09 09 09 09 09 09 3b 70 | 6f 69 6e 74 20 74 6f 20 |......;p|oint to |
|00001aa0| 6e 65 77 20 65 6e 74 72 | 79 0d 46 61 69 6c 75 72 |new entr|y.Failur|
|00001ab0| 65 73 45 6e 74 72 79 09 | 09 09 09 09 09 09 09 09 |esEntry.|........|
|00001ac0| 3b 41 30 3d 70 6f 69 6e | 74 65 72 20 74 6f 20 46 |;A0=poin|ter to F|
|00001ad0| 61 69 6c 49 6e 66 6f 20 | 62 6c 6f 63 6b 2c 41 31 |ailInfo |block,A1|
|00001ae0| 3d 68 61 6e 64 6c 65 72 | 20 61 64 64 72 65 73 73 |=handler| address|
|00001af0| 2c 0d 09 09 09 09 09 09 | 09 09 09 09 09 09 3b 20 |,.......|......; |
|00001b00| 44 31 3d 66 6c 61 67 20 | 73 68 6f 77 69 6e 67 20 |D1=flag |showing |
|00001b10| 68 6f 77 20 77 65 20 65 | 6e 74 65 72 65 64 2c 20 |how we e|ntered, |
|00001b20| 44 32 3d 72 65 74 75 72 | 6e 20 61 64 64 72 65 73 |D2=retur|n addres|
|00001b30| 73 0d 09 09 09 4d 4f 56 | 45 2e 4c 09 41 30 2c 44 |s....MOV|E.L.A0,D|
|00001b40| 30 09 09 09 09 09 09 3b | 73 61 76 65 20 46 61 69 |0......;|save Fai|
|00001b50| 6c 49 6e 66 6f 20 72 65 | 63 6f 72 64 20 61 64 64 |lInfo re|cord add|
|00001b60| 72 65 73 73 0d 0d 09 09 | 09 4d 4f 56 45 2e 57 09 |ress....|.MOVE.W.|
|00001b70| 44 31 2c 77 68 61 74 53 | 69 67 6e 61 6c 73 28 41 |D1,whatS|ignals(A|
|00001b80| 30 29 09 09 09 3b 72 65 | 6d 65 6d 62 65 72 20 77 |0)...;re|member w|
|00001b90| 68 61 74 d5 73 20 63 61 | 74 63 68 69 6e 67 20 28 |hat.s ca|tching (|
|00001ba0| 2d 31 3d 43 61 74 63 68 | 46 61 69 6c 75 72 65 73 |-1=Catch|Failures|
|00001bb0| 2c 0d 09 09 09 09 09 09 | 09 09 09 09 09 09 3b 20 |,.......|......; |
|00001bc0| 30 3d 43 61 74 63 68 43 | 46 61 69 6c 75 72 65 73 |0=CatchC|Failures|
|00001bd0| 2c 20 31 3d 43 61 74 63 | 68 53 69 67 6e 61 6c 29 |, 1=Catc|hSignal)|
|00001be0| 0d 09 09 09 42 4c 45 2e | 53 09 40 31 09 09 09 09 |....BLE.|S.@1....|
|00001bf0| 09 09 09 3b 63 61 6e d5 | 74 20 75 73 65 20 66 72 |...;can.|t use fr|
|00001c00| 61 6d 65 20 74 6f 20 63 | 6c 65 61 6e 20 75 70 20 |ame to c|lean up |
|00001c10| 69 66 20 74 68 65 79 d5 | 6c 6c 20 63 61 6c 6c 20 |if they.|ll call |
|00001c20| 53 75 63 63 65 73 73 0d | 0d 09 09 09 43 4d 50 2e |Success.|....CMP.|
|00001c30| 4c 09 23 53 69 67 42 69 | 67 41 36 2c 41 36 09 09 |L.#SigBi|gA6,A6..|
|00001c40| 09 09 3b 61 72 65 20 77 | 65 20 61 74 20 74 68 65 |..;are w|e at the|
|00001c50| 20 6f 75 74 65 72 20 6c | 65 76 65 6c 3f 0d 09 09 | outer l|evel?...|
|00001c60| 09 42 45 51 2e 53 09 40 | 31 09 09 09 09 09 09 09 |.BEQ.S.@|1.......|
|00001c70| 3b 79 65 73 2c 20 6e 6f | 20 66 72 61 6d 65 2c 20 |;yes, no| frame, |
|00001c80| 6e 6f 20 63 6c 65 61 6e | 75 70 20 6e 65 65 64 65 |no clean|up neede|
|00001c90| 64 20 0d 09 09 09 4d 4f | 56 45 2e 4c 09 46 72 61 |d ....MO|VE.L.Fra|
|00001ca0| 6d 65 52 65 74 28 41 36 | 29 2c 53 69 67 46 52 65 |meRet(A6|),SigFRe|
|00001cb0| 74 28 41 30 29 09 3b 73 | 61 76 65 20 6f 6c 64 20 |t(A0).;s|ave old |
|00001cc0| 66 72 61 6d 65 20 72 65 | 74 75 72 6e 0d 09 09 09 |frame re|turn....|
|00001cd0| 09 09 09 09 09 09 09 09 | 09 3b 20 61 64 64 72 65 |........|.; addre|
|00001ce0| 73 73 0d 09 09 09 4c 45 | 41 09 09 53 69 67 67 79 |ss....LE|A..Siggy|
|00001cf0| 50 6f 70 2c 41 30 0d 09 | 09 09 4d 4f 56 45 2e 4c |Pop,A0..|..MOVE.L|
|00001d00| 09 41 30 2c 46 72 61 6d | 65 52 65 74 28 41 36 29 |.A0,Fram|eRet(A6)|
|00001d10| 09 09 09 09 3b 73 65 74 | 20 63 6c 65 61 6e 75 70 |....;set| cleanup|
|00001d20| 20 63 6f 64 65 20 61 64 | 64 72 65 73 73 0d 09 09 | code ad|dress...|
|00001d30| 09 4d 4f 56 45 2e 4c 09 | 44 30 2c 41 30 09 09 09 |.MOVE.L.|D0,A0...|
|00001d40| 09 09 09 3b 72 65 73 74 | 6f 72 65 20 46 61 69 6c |...;rest|ore Fail|
|00001d50| 49 6e 66 6f 20 72 65 63 | 6f 72 64 20 61 64 64 72 |Info rec|ord addr|
|00001d60| 65 73 73 0d 40 31 09 09 | 0d 09 09 09 4d 4f 56 45 |ess.@1..|....MOVE|
|00001d70| 4d 2e 4c 20 41 32 2d 41 | 37 2f 44 33 2d 44 37 2c |M.L A2-A|7/D3-D7,|
|00001d80| 28 41 30 29 09 09 09 3b | 73 61 76 65 20 61 6c 6c |(A0)...;|save all|
|00001d90| 20 72 65 67 69 73 74 65 | 72 73 20 66 69 72 73 74 | registe|rs first|
|00001da0| 20 28 6e 6f 74 65 20 74 | 68 61 74 20 74 68 65 20 | (note t|hat the |
|00001db0| 73 61 76 65 64 0d 09 09 | 09 09 09 09 09 09 09 09 |saved...|........|
|00001dc0| 09 09 3b 20 73 74 61 63 | 6b 20 70 6f 69 6e 74 73 |..; stac|k points|
|00001dd0| 20 74 6f 20 74 68 65 20 | 66 75 6e 63 74 69 6f 6e | to the |function|
|00001de0| 20 72 65 73 75 6c 74 20 | 66 6f 72 20 43 61 74 63 | result |for Catc|
|00001df0| 68 53 69 67 6e 61 6c 29 | 0d 09 09 09 41 44 44 20 |hSignal)|....ADD |
|00001e00| 09 23 6e 53 61 76 65 64 | 52 65 67 73 2a 34 2c 41 |.#nSaved|Regs*4,A|
|00001e10| 30 09 09 09 3b 61 64 76 | 61 6e 63 65 20 70 6f 69 |0...;adv|ance poi|
|00001e20| 6e 74 65 72 20 62 79 20 | 23 20 62 79 74 65 73 20 |nter by |# bytes |
|00001e30| 72 65 67 73 0d 09 09 0d | 09 09 09 43 4c 52 2e 57 |regs....|...CLR.W|
|00001e40| 09 28 41 30 29 2b 09 09 | 09 09 09 09 3b 63 6c 65 |.(A0)+..|....;cle|
|00001e50| 61 72 20 65 72 72 6f 72 | 20 66 69 65 6c 64 0d 09 |ar error| field..|
|00001e60| 09 09 43 4c 52 2e 4c 09 | 28 41 30 29 2b 09 09 09 |..CLR.L.|(A0)+...|
|00001e70| 09 09 09 3b 63 6c 65 61 | 72 20 6d 65 73 73 61 67 |...;clea|r messag|
|00001e80| 65 20 66 69 65 6c 64 0d | 09 09 09 43 4c 52 2e 4c |e field.|...CLR.L|
|00001e90| 09 28 41 30 29 2b 09 09 | 09 09 09 09 3b 63 6c 65 |.(A0)+..|....;cle|
|00001ea0| 61 72 20 41 36 20 6c 69 | 6e 6b 0d 09 09 09 0d 09 |ar A6 li|nk......|
|00001eb0| 09 09 54 53 54 2e 57 09 | 44 31 09 09 09 09 09 09 |..TST.W.|D1......|
|00001ec0| 09 3b 77 61 73 20 43 61 | 74 63 68 46 61 69 6c 75 |.;was Ca|tchFailu|
|00001ed0| 72 65 73 20 75 73 65 64 | 3f 0d 09 09 09 42 50 4c |res used|?....BPL|
|00001ee0| 2e 53 09 40 32 09 09 09 | 09 09 09 09 3b 6e 6f 2c |.S.@2...|....;no,|
|00001ef0| 20 43 61 74 63 68 43 46 | 61 69 6c 75 72 65 73 20 | CatchCF|ailures |
|00001f00| 6f 72 20 43 61 74 63 68 | 53 69 67 6e 61 6c 3b 20 |or Catch|Signal; |
|00001f10| 73 6b 69 70 0d 09 09 09 | 4d 4f 56 45 2e 4c 09 41 |skip....|MOVE.L.A|
|00001f20| 36 2c 2d 34 28 41 30 29 | 09 09 09 09 09 3b 73 61 |6,-4(A0)|.....;sa|
|00001f30| 76 65 20 74 68 65 20 41 | 36 4c 69 6e 6b 0d 40 32 |ve the A|6Link.@2|
|00001f40| 0d 09 09 09 4d 4f 56 45 | 2e 4c 09 41 31 2c 28 41 |....MOVE|.L.A1,(A|
|00001f50| 30 29 2b 09 09 09 09 09 | 3b 73 61 76 65 20 74 68 |0)+.....|;save th|
|00001f60| 65 20 68 61 6e 64 6c 65 | 72 20 70 74 72 0d 09 09 |e handle|r ptr...|
|00001f70| 0d 09 09 09 4d 4f 56 45 | 2e 4c 09 67 54 6f 70 48 |....MOVE|.L.gTopH|
|00001f80| 61 6e 64 6c 65 72 28 41 | 35 29 2c 28 41 30 29 2b |andler(A|5),(A0)+|
|00001f90| 09 09 3b 4c 69 6e 6b 20 | 74 68 65 20 46 61 69 6c |..;Link |the Fail|
|00001fa0| 49 6e 66 6f 20 69 6e 74 | 6f 20 74 68 65 20 6c 69 |Info int|o the li|
|00001fb0| 73 74 0d 09 09 09 4d 4f | 56 45 2e 4c 09 44 30 2c |st....MO|VE.L.D0,|
|00001fc0| 67 54 6f 70 48 61 6e 64 | 6c 65 72 28 41 35 29 0d |gTopHand|ler(A5).|
|00001fd0| 09 09 09 4d 4f 56 45 2e | 4c 09 44 32 2c 28 41 30 |...MOVE.|L.D2,(A0|
|00001fe0| 29 2b 09 09 09 09 09 3b | 72 65 6d 65 6d 62 65 72 |)+.....;|remember|
|00001ff0| 20 74 68 65 20 63 61 6c | 6c 65 72 27 73 20 50 43 | the cal|ler's PC|
|00002000| 20 66 6f 72 20 4d 41 20 | 64 65 62 75 67 67 69 6e | for MA |debuggin|
|00002010| 67 0d 0d 09 09 09 4d 4f | 56 45 2e 4c 09 44 32 2c |g.....MO|VE.L.D2,|
|00002020| 41 30 09 09 09 09 09 09 | 3b 67 65 74 20 72 65 74 |A0......|;get ret|
|00002030| 75 72 6e 20 61 64 64 72 | 65 73 73 0d 09 09 09 4a |urn addr|ess....J|
|00002040| 4d 50 09 09 28 41 30 29 | 0d 09 09 09 54 61 69 6c |MP..(A0)|....Tail|
|00002050| 09 27 43 41 54 43 48 53 | 49 47 27 0d 0d 09 09 09 |.'CATCHS|IG'.....|
|00002060| 41 4c 49 47 4e 0d 53 69 | 67 67 79 50 6f 70 0d 09 |ALIGN.Si|ggyPop..|
|00002070| 09 09 48 65 61 64 0d 09 | 09 09 4d 4f 56 45 2e 4c |..Head..|..MOVE.L|
|00002080| 09 44 30 2c 2d 28 41 37 | 29 09 09 09 09 09 3b 73 |.D0,-(A7|).....;s|
|00002090| 61 76 65 20 44 30 20 69 | 6e 20 63 61 73 65 20 77 |ave D0 i|n case w|
|000020a0| 65 d5 72 65 20 72 65 74 | 75 72 6e 69 6e 67 20 66 |e.re ret|urning f|
|000020b0| 72 6f 6d 20 61 20 63 20 | 66 75 6e 63 74 69 6f 6e |rom a c |function|
|000020c0| 0d 0d 09 09 09 4d 4f 56 | 45 2e 4c 09 53 69 67 50 |.....MOV|E.L.SigP|
|000020d0| 6f 69 6e 74 65 72 2c 41 | 30 0d 09 09 09 4d 4f 56 |ointer,A|0....MOV|
|000020e0| 45 2e 4c 09 41 30 2c 44 | 30 09 09 09 09 09 09 3b |E.L.A0,D|0......;|
|000020f0| 74 6f 20 73 65 74 20 43 | 43 52 0d 09 09 09 42 45 |to set C|CR....BE|
|00002100| 51 09 09 53 69 67 44 65 | 61 74 68 09 09 09 09 09 |Q..SigDe|ath.....|
|00002110| 3b 6e 69 6c 20 70 6f 69 | 6e 74 65 72 20 6d 65 61 |;nil poi|nter mea|
|00002120| 6e 73 20 74 72 6f 75 62 | 6c 65 0d 09 09 09 4d 4f |ns troub|le....MO|
|00002130| 56 45 2e 4c 09 53 69 67 | 4e 6f 77 2c 44 30 09 09 |VE.L.Sig|Now,D0..|
|00002140| 09 09 09 3b 67 72 61 62 | 20 74 61 62 6c 65 20 6f |...;grab| table o|
|00002150| 66 66 73 65 74 20 74 6f | 20 65 6e 74 72 79 0d 09 |ffset to| entry..|
|00002160| 09 09 42 4d 49 09 09 53 | 69 67 44 65 61 74 68 09 |..BMI..S|igDeath.|
|00002170| 09 09 09 09 3b 69 66 20 | 6e 6f 20 65 6e 74 72 69 |....;if |no entri|
|00002180| 65 73 20 74 68 65 6e 20 | 67 69 76 65 20 75 70 0d |es then |give up.|
|00002190| 09 09 09 41 44 44 2e 4c | 09 44 30 2c 41 30 09 09 |...ADD.L|.D0,A0..|
|000021a0| 09 09 09 09 3b 70 6f 69 | 6e 74 20 74 6f 20 63 75 |....;poi|nt to cu|
|000021b0| 72 72 65 6e 74 20 65 6c | 65 6d 65 6e 74 0d 09 09 |rrent el|ement...|
|000021c0| 09 0d 09 09 09 4d 4f 56 | 45 2e 4c 09 53 69 67 46 |.....MOV|E.L.SigF|
|000021d0| 52 65 74 28 41 30 29 2c | 2d 28 41 37 29 09 09 09 |Ret(A0),|-(A7)...|
|000021e0| 3b 70 75 73 68 20 70 72 | 6f 63 27 73 20 72 65 61 |;push pr|oc's rea|
|000021f0| 6c 20 72 65 74 75 72 6e | 20 61 64 64 72 65 73 73 |l return| address|
|00002200| 0d 09 09 09 42 53 52 09 | 09 53 69 67 67 79 50 6f |....BSR.|.SiggyPo|
|00002210| 70 32 09 09 09 09 09 3b | 70 6f 70 20 65 6c 65 6d |p2.....;|pop elem|
|00002220| 65 6e 74 20 61 6e 64 20 | 63 61 6c 6c 20 53 75 63 |ent and |call Suc|
|00002230| 63 65 73 73 20 74 6f 20 | 70 6f 70 20 68 61 6e 64 |cess to |pop hand|
|00002240| 6c 65 72 0d 09 09 09 4d | 4f 56 45 2e 4c 09 28 41 |ler....M|OVE.L.(A|
|00002250| 37 29 2b 2c 41 31 09 09 | 09 09 09 3b 67 65 74 20 |7)+,A1..|...;get |
|00002260| 70 72 6f 63 d5 73 20 72 | 65 74 75 72 6e 20 61 64 |proc.s r|eturn ad|
|00002270| 64 72 65 73 73 0d 09 09 | 09 4d 4f 56 45 2e 4c 09 |dress...|.MOVE.L.|
|00002280| 28 41 37 29 2b 2c 44 30 | 09 09 09 09 09 3b 67 65 |(A7)+,D0|.....;ge|
|00002290| 74 20 62 61 63 6b 20 44 | 30 20 69 6e 20 63 61 73 |t back D|0 in cas|
|000022a0| 65 20 77 65 d5 72 65 20 | 72 65 74 75 72 6e 69 6e |e we.re |returnin|
|000022b0| 67 20 66 72 6f 6d 20 63 | 0d 09 09 09 4a 4d 50 09 |g from c|....JMP.|
|000022c0| 09 28 41 31 29 0d 09 09 | 09 54 61 69 6c 09 27 53 |.(A1)...|.Tail.'S|
|000022d0| 49 47 47 59 50 4f 50 27 | 0d 09 09 09 0d 09 09 09 |IGGYPOP'|........|
|000022e0| 45 4e 44 50 0d 0d 0d 0d | 0d 09 09 49 66 20 20 26 |ENDP....|...If &|
|000022f0| 55 73 69 6e 67 4d 61 63 | 41 70 70 20 54 68 65 6e |UsingMac|App Then|
|00002300| 0d 09 09 09 53 65 67 20 | 09 27 4d 41 4d 61 69 6e |....Seg |.'MAMain|
|00002310| 27 0d 09 09 45 6e 64 49 | 66 0d 46 72 65 65 53 69 |'...EndI|f.FreeSi|
|00002320| 67 6e 61 6c 09 50 52 4f | 43 09 45 58 50 4f 52 54 |gnal.PRO|C.EXPORT|
|00002330| 09 09 09 09 09 09 3b 50 | 52 4f 43 45 44 55 52 45 |......;P|ROCEDURE|
|00002340| 20 46 72 65 65 53 69 67 | 6e 61 6c 3b 0d 09 09 09 | FreeSig|nal;....|
|00002350| 49 4d 50 4f 52 54 09 53 | 69 67 44 65 61 74 68 2c |IMPORT.S|igDeath,|
|00002360| 53 75 63 63 65 73 73 0d | 09 09 09 49 4d 50 4f 52 |Success.|...IMPOR|
|00002370| 54 09 67 54 6f 70 48 61 | 6e 64 6c 65 72 3a 44 61 |T.gTopHa|ndler:Da|
|00002380| 74 61 0d 09 09 09 45 58 | 50 4f 52 54 09 53 69 67 |ta....EX|PORT.Sig|
|00002390| 67 79 50 6f 70 32 0d 09 | 09 09 57 49 54 48 09 53 |gyPop2..|..WITH.S|
|000023a0| 69 67 47 6c 6f 62 61 6c | 73 0d 09 09 09 0d 09 09 |igGlobal|s.......|
|000023b0| 09 48 65 61 64 0d 09 09 | 09 4d 4f 56 45 2e 4c 09 |.Head...|.MOVE.L.|
|000023c0| 67 54 6f 70 48 61 6e 64 | 6c 65 72 28 41 35 29 2c |gTopHand|ler(A5),|
|000023d0| 41 30 09 09 09 3b 70 6f | 69 6e 74 20 74 6f 20 46 |A0...;po|int to F|
|000023e0| 61 69 6c 49 6e 66 6f 20 | 72 65 63 6f 72 64 0d 09 |ailInfo |record..|
|000023f0| 09 09 4d 4f 56 45 2e 4c | 09 41 30 2c 44 30 09 09 |..MOVE.L|.A0,D0..|
|00002400| 09 09 09 09 3b 74 6f 20 | 73 65 74 20 43 43 52 0d |....;to |set CCR.|
|00002410| 09 09 09 42 45 51 2e 53 | 09 53 69 67 44 65 61 74 |...BEQ.S|.SigDeat|
|00002420| 68 0d 09 09 09 0d 09 09 | 09 54 53 54 2e 57 09 77 |h.......|.TST.W.w|
|00002430| 68 61 74 53 69 67 6e 61 | 6c 73 28 41 30 29 09 09 |hatSigna|ls(A0)..|
|00002440| 09 09 3b 77 61 73 20 43 | 61 74 63 68 53 69 67 6e |..;was C|atchSign|
|00002450| 61 6c 20 75 73 65 64 3f | 0d 09 09 09 42 4c 45 2e |al used?|....BLE.|
|00002460| 53 09 53 69 67 67 79 50 | 6f 70 33 09 09 09 09 09 |S.SiggyP|op3.....|
|00002470| 3b 6e 6f 2c 20 63 61 6c | 6c 20 53 75 63 63 65 73 |;no, cal|l Succes|
|00002480| 73 20 61 6e 64 20 72 65 | 74 75 72 6e 0d 09 09 09 |s and re|turn....|
|00002490| 0d 09 09 09 4d 4f 56 45 | 2e 4c 09 53 69 67 4e 6f |....MOVE|.L.SigNo|
|000024a0| 77 2c 44 30 09 09 09 09 | 09 3b 67 72 61 62 20 74 |w,D0....|.;grab t|
|000024b0| 61 62 6c 65 20 6f 66 66 | 73 65 74 20 74 6f 20 65 |able off|set to e|
|000024c0| 6e 74 72 79 0d 09 09 09 | 0d 09 09 09 4d 4f 56 45 |ntry....|....MOVE|
|000024d0| 2e 4c 09 53 69 67 41 36 | 28 41 30 29 2c 41 31 09 |.L.SigA6|(A0),A1.|
|000024e0| 09 09 09 3b 67 65 74 20 | 41 36 20 61 74 20 70 6f |...;get |A6 at po|
|000024f0| 69 6e 74 20 6f 66 20 43 | 61 74 63 68 53 69 67 6e |int of C|atchSign|
|00002500| 61 6c 0d 09 09 09 43 4d | 50 2e 4c 09 23 53 69 67 |al....CM|P.L.#Sig|
|00002510| 42 69 67 41 36 2c 41 31 | 09 09 09 09 3b 69 73 20 |BigA6,A1|....;is |
|00002520| 69 74 20 61 74 20 74 68 | 65 20 6f 75 74 65 72 20 |it at th|e outer |
|00002530| 6c 65 76 65 6c 3f 0d 09 | 09 09 42 45 51 2e 53 09 |level?..|..BEQ.S.|
|00002540| 53 69 67 67 79 50 6f 70 | 32 09 09 09 09 09 3b 79 |SiggyPop|2.....;y|
|00002550| 65 73 2c 20 64 6f 6e 27 | 74 20 6a 61 6d 20 74 68 |es, don'|t jam th|
|00002560| 65 20 61 64 64 72 65 73 | 73 20 69 66 20 6e 6f 20 |e addres|s if no |
|00002570| 66 72 61 6d 65 20 0d 09 | 09 09 4d 4f 56 45 2e 4c |frame ..|..MOVE.L|
|00002580| 09 53 69 67 46 52 65 74 | 28 41 30 29 2c 46 72 61 |.SigFRet|(A0),Fra|
|00002590| 6d 65 52 65 74 28 41 31 | 29 09 3b 22 70 6f 70 22 |meRet(A1|).;"pop"|
|000025a0| 20 63 6c 65 61 6e 75 70 | 20 63 6f 64 65 0d 53 69 | cleanup| code.Si|
|000025b0| 67 67 79 50 6f 70 32 0d | 09 09 09 53 55 42 2e 4c |ggyPop2.|...SUB.L|
|000025c0| 09 23 53 69 67 45 6c 53 | 69 7a 65 2c 44 30 0d 09 |.#SigElS|ize,D0..|
|000025d0| 09 09 4d 4f 56 45 2e 4c | 09 44 30 2c 53 69 67 4e |..MOVE.L|.D0,SigN|
|000025e0| 6f 77 09 09 09 09 09 3b | 22 70 6f 70 22 20 74 68 |ow.....;|"pop" th|
|000025f0| 65 20 65 6e 74 72 79 0d | 53 69 67 67 79 50 6f 70 |e entry.|SiggyPop|
|00002600| 33 0d 09 09 09 4d 4f 56 | 45 2e 4c 09 41 30 2c 2d |3....MOV|E.L.A0,-|
|00002610| 28 41 37 29 09 09 09 09 | 09 3b 70 75 73 68 20 61 |(A7)....|.;push a|
|00002620| 64 64 72 65 73 73 20 66 | 6f 72 20 53 75 63 63 65 |ddress f|or Succe|
|00002630| 73 73 20 28 46 61 69 6c | 49 6e 66 6f d5 73 29 0d |ss (Fail|Info.s).|
|00002640| 09 09 09 4a 53 52 09 09 | 53 75 63 63 65 73 73 09 |...JSR..|Success.|
|00002650| 09 09 09 09 09 3b 6c 65 | 74 20 4d 61 63 41 70 70 |.....;le|t MacApp|
|00002660| 20 72 65 6d 6f 76 65 20 | 46 61 69 6c 49 6e 66 6f | remove |FailInfo|
|00002670| 20 66 72 6f 6d 20 6c 69 | 73 74 3b 20 72 65 74 75 | from li|st; retu|
|00002680| 72 6e 0d 09 09 09 52 54 | 53 0d 09 09 09 54 61 69 |rn....RT|S....Tai|
|00002690| 6c 09 27 46 52 45 45 53 | 49 47 4e 27 0d 09 09 09 |l.'FREES|IGN'....|
|000026a0| 0d 09 09 09 45 4e 44 50 | 0d 0d 09 09 49 66 20 20 |....ENDP|....If |
|000026b0| 26 55 73 69 6e 67 4d 61 | 63 41 70 70 20 54 68 65 |&UsingMa|cApp The|
|000026c0| 6e 0d 09 09 09 53 65 67 | 20 09 27 4d 41 4d 61 69 |n....Seg| .'MAMai|
|000026d0| 6e 27 0d 09 09 45 6e 64 | 49 66 0d 53 69 67 6e 61 |n'...End|If.Signa|
|000026e0| 6c 4d 65 73 73 61 67 65 | 20 50 52 4f 43 09 45 58 |lMessage| PROC.EX|
|000026f0| 50 4f 52 54 09 09 09 09 | 09 09 3b 50 52 4f 43 45 |PORT....|..;PROCE|
|00002700| 44 55 52 45 20 53 69 67 | 6e 61 6c 4d 65 73 73 61 |DURE Sig|nalMessa|
|00002710| 67 65 28 63 6f 64 65 3a | 20 49 4e 54 45 47 45 52 |ge(code:| INTEGER|
|00002720| 3b 20 6d 65 73 73 61 67 | 65 3a 20 4c 4f 4e 47 49 |; messag|e: LONGI|
|00002730| 4e 54 29 3b 0d 09 09 09 | 49 4d 50 4f 52 54 09 53 |NT);....|IMPORT.S|
|00002740| 69 67 6e 61 6c 45 6e 74 | 72 79 0d 09 09 09 57 49 |ignalEnt|ry....WI|
|00002750| 54 48 09 53 69 67 47 6c | 6f 62 61 6c 73 0d 0d 09 |TH.SigGl|obals...|
|00002760| 09 09 48 65 61 64 0d 09 | 09 09 4d 4f 56 45 2e 4c |..Head..|..MOVE.L|
|00002770| 09 28 41 37 29 2b 2c 41 | 31 09 09 09 09 09 3b 67 |.(A7)+,A|1.....;g|
|00002780| 65 74 20 72 65 74 75 72 | 6e 20 61 64 64 72 65 73 |et retur|n addres|
|00002790| 73 09 0d 09 09 09 4d 4f | 56 45 2e 4c 09 28 41 37 |s.....MO|VE.L.(A7|
|000027a0| 29 2b 2c 44 30 09 09 09 | 09 09 3b 67 65 74 20 6d |)+,D0...|..;get m|
|000027b0| 65 73 73 61 67 65 0d 09 | 09 09 42 52 41 2e 53 09 |essage..|..BRA.S.|
|000027c0| 53 69 67 6e 61 6c 45 6e | 74 72 79 0d 09 09 09 54 |SignalEn|try....T|
|000027d0| 61 69 6c 09 27 53 49 47 | 4e 41 4c 4d 45 27 0d 0d |ail.'SIG|NALME'..|
|000027e0| 53 69 67 6e 61 6c 09 09 | 50 52 4f 43 09 45 58 50 |Signal..|PROC.EXP|
|000027f0| 4f 52 54 09 09 09 09 09 | 09 3b 50 52 4f 43 45 44 |ORT.....|.;PROCED|
|00002800| 55 52 45 20 53 69 67 6e | 61 6c 28 63 6f 64 65 3a |URE Sign|al(code:|
|00002810| 49 4e 54 45 47 45 52 29 | 3b 0d 09 09 09 49 4d 50 |INTEGER)|;....IMP|
|00002820| 4f 52 54 09 46 61 69 6c | 75 72 65 0d 09 09 09 45 |ORT.Fail|ure....E|
|00002830| 58 50 4f 52 54 09 53 69 | 67 44 65 61 74 68 2c 53 |XPORT.Si|gDeath,S|
|00002840| 69 67 6e 61 6c 45 6e 74 | 72 79 0d 63 6f 64 65 09 |ignalEnt|ry.code.|
|00002850| 09 45 51 55 09 09 34 0d | 09 09 09 57 49 54 48 09 |.EQU..4.|...WITH.|
|00002860| 53 69 67 47 6c 6f 62 61 | 6c 73 0d 0d 09 09 09 48 |SigGloba|ls.....H|
|00002870| 65 61 64 0d 09 09 09 4d | 4f 56 45 2e 4c 09 28 41 |ead....M|OVE.L.(A|
|00002880| 37 29 2b 2c 41 31 09 09 | 09 09 09 3b 67 65 74 20 |7)+,A1..|...;get |
|00002890| 72 65 74 75 72 6e 20 61 | 64 64 72 65 73 73 09 0d |return a|ddress..|
|000028a0| 09 09 09 43 4c 52 2e 4c | 09 44 30 09 09 09 09 09 |...CLR.L|.D0.....|
|000028b0| 09 09 3b 6d 65 73 73 61 | 67 65 20 3a 3d 20 30 0d |..;messa|ge := 0.|
|000028c0| 53 69 67 6e 61 6c 45 6e | 74 72 79 0d 09 09 09 4d |SignalEn|try....M|
|000028d0| 4f 56 45 2e 57 09 28 41 | 37 29 2b 2c 44 31 09 09 |OVE.W.(A|7)+,D1..|
|000028e0| 09 09 09 3b 67 65 74 20 | 63 6f 64 65 0d 09 09 09 |...;get |code....|
|000028f0| 42 4e 45 2e 53 09 40 30 | 09 09 09 09 09 09 09 3b |BNE.S.@0|.......;|
|00002900| 70 72 6f 63 65 73 73 20 | 74 68 65 20 73 69 67 6e |process |the sign|
|00002910| 61 6c 20 69 66 20 63 6f | 64 65 20 69 73 20 6e 6f |al if co|de is no|
|00002920| 6e 2d 7a 65 72 6f 0d 09 | 09 09 4a 4d 50 09 28 41 |n-zero..|..JMP.(A|
|00002930| 31 29 09 09 09 09 09 09 | 09 3b 72 65 74 75 72 6e |1)......|.;return|
|00002940| 20 74 6f 20 63 61 6c 6c | 65 72 20 28 63 6f 64 65 | to call|er (code|
|00002950| 20 77 61 73 20 30 29 0d | 40 30 0d 09 09 09 4d 4f | was 0).|@0....MO|
|00002960| 56 45 2e 57 09 44 31 2c | 2d 28 41 37 29 09 09 09 |VE.W.D1,|-(A7)...|
|00002970| 09 09 3b 70 75 73 68 20 | 63 6f 64 65 0d 09 09 09 |..;push |code....|
|00002980| 4d 4f 56 45 2e 4c 09 44 | 30 2c 2d 28 41 37 29 09 |MOVE.L.D|0,-(A7).|
|00002990| 09 09 09 09 3b 70 75 73 | 68 20 6d 65 73 73 61 67 |....;pus|h messag|
|000029a0| 65 0d 09 09 09 4a 53 52 | 09 09 46 61 69 6c 75 72 |e....JSR|..Failur|
|000029b0| 65 09 09 09 09 09 09 3b | 74 68 69 73 20 77 69 6c |e......;|this wil|
|000029c0| 6c 20 70 6f 70 20 74 68 | 65 20 68 61 6e 64 6c 65 |l pop th|e handle|
|000029d0| 72 20 61 6e 64 20 63 61 | 6c 6c 20 53 69 67 6e 61 |r and ca|ll Signa|
|000029e0| 6c 46 61 69 6c 75 72 65 | 0d 53 69 67 44 65 61 74 |lFailure|.SigDeat|
|000029f0| 68 0d 09 09 09 5f 44 65 | 62 75 67 67 65 72 09 09 |h...._De|bugger..|
|00002a00| 09 09 09 09 09 3b 77 61 | 73 6e d5 74 20 73 75 70 |.....;wa|sn.t sup|
|00002a10| 70 6f 73 65 64 20 74 6f | 20 63 6f 6d 65 20 62 61 |posed to| come ba|
|00002a20| 63 6b c9 0d 09 09 09 54 | 61 69 6c 09 27 53 49 47 |ck.....T|ail.'SIG|
|00002a30| 4e 41 4c 20 20 27 0d 0d | 09 09 09 45 4e 44 50 0d |NAL '..|...ENDP.|
|00002a40| 0d 09 09 49 66 20 20 26 | 55 73 69 6e 67 4d 61 63 |...If &|UsingMac|
|00002a50| 41 70 70 20 54 68 65 6e | 0d 09 09 09 53 65 67 20 |App Then|....Seg |
|00002a60| 09 27 4d 41 4d 61 69 6e | 27 0d 09 09 45 6e 64 49 |.'MAMain|'...EndI|
|00002a70| 66 0d 44 6f 46 61 69 6c | 75 72 65 09 50 52 4f 43 |f.DoFail|ure.PROC|
|00002a80| 09 45 58 50 4f 52 54 09 | 09 09 09 09 09 3b 50 52 |.EXPORT.|.....;PR|
|00002a90| 4f 43 45 44 55 52 45 20 | 44 6f 46 61 69 6c 75 72 |OCEDURE |DoFailur|
|00002aa0| 65 28 56 41 52 20 66 69 | 3a 20 46 61 69 6c 49 6e |e(VAR fi|: FailIn|
|00002ab0| 66 6f 29 3b 0d 09 09 09 | 49 4d 50 4f 52 54 09 46 |fo);....|IMPORT.F|
|00002ac0| 61 69 6c 75 72 65 0d 66 | 69 09 09 09 45 51 55 09 |ailure.f|i...EQU.|
|00002ad0| 09 34 0d 09 09 09 0d 09 | 09 09 48 65 61 64 0d 09 |.4......|..Head..|
|00002ae0| 09 09 42 53 52 09 09 46 | 72 65 65 53 69 67 6e 61 |..BSR..F|reeSigna|
|00002af0| 6c 09 09 09 09 09 3b 70 | 6f 70 20 74 68 69 73 20 |l.....;p|op this |
|00002b00| 67 75 79 20 6f 66 66 20 | 28 62 75 74 20 74 68 65 |guy off |(but the|
|00002b10| 20 72 65 63 6f 72 64 20 | 69 73 20 73 74 69 6c 6c | record |is still|
|00002b20| 20 76 61 6c 69 64 29 0d | 09 09 09 0d 09 09 09 4d | valid).|.......M|
|00002b30| 4f 56 45 2e 4c 09 66 69 | 28 41 37 29 2c 41 30 09 |OVE.L.fi|(A7),A0.|
|00002b40| 09 09 09 09 3b 67 65 74 | 20 46 61 69 6c 49 6e 66 |....;get| FailInf|
|00002b50| 6f 20 72 65 63 6f 72 64 | 0d 09 09 09 0d 09 09 09 |o record|........|
|00002b60| 4d 4f 56 45 4d 2e 4c 20 | 28 41 30 29 2c 41 32 2d |MOVEM.L |(A0),A2-|
|00002b70| 41 37 2f 44 33 2d 44 37 | 09 09 09 3b 72 65 73 74 |A7/D3-D7|...;rest|
|00002b80| 6f 72 65 20 72 65 67 73 | 20 28 63 61 6e 27 74 20 |ore regs| (can't |
|00002b90| 75 73 65 20 41 37 20 61 | 6e 79 6d 6f 72 65 29 0d |use A7 a|nymore).|
|00002ba0| 09 09 09 41 44 44 20 09 | 23 6e 53 61 76 65 64 52 |...ADD .|#nSavedR|
|00002bb0| 65 67 73 2a 34 2c 41 30 | 09 09 09 3b 61 64 76 61 |egs*4,A0|...;adva|
|00002bc0| 6e 63 65 20 70 6f 69 6e | 74 65 72 0d 09 09 0d 09 |nce poin|ter.....|
|00002bd0| 09 09 4d 4f 56 45 2e 57 | 09 28 41 30 29 2b 2c 44 |..MOVE.W|.(A0)+,D|
|00002be0| 30 20 09 09 09 09 09 3b | 67 65 74 20 65 72 72 6f |0 .....;|get erro|
|00002bf0| 72 0d 09 09 0d 09 09 09 | 54 53 54 2e 57 09 77 68 |r.......|TST.W.wh|
|00002c00| 61 74 53 69 67 6e 61 6c | 73 2d 6e 53 61 76 65 64 |atSignal|s-nSaved|
|00002c10| 52 65 67 73 2a 34 2d 32 | 28 41 30 29 09 3b 77 61 |Regs*4-2|(A0).;wa|
|00002c20| 73 20 43 61 74 63 68 53 | 69 67 6e 61 6c 20 75 73 |s CatchS|ignal us|
|00002c30| 65 64 3f 0d 09 09 09 42 | 47 54 2e 53 09 40 32 09 |ed?....B|GT.S.@2.|
|00002c40| 09 09 09 09 09 09 3b 79 | 65 73 2c 20 73 6b 69 70 |......;y|es, skip|
|00002c50| 0d 09 09 09 0d 09 09 09 | 4d 4f 56 45 2e 4c 09 28 |........|MOVE.L.(|
|00002c60| 41 30 29 2b 2c 44 31 20 | 09 09 09 09 09 3b 67 65 |A0)+,D1 |.....;ge|
|00002c70| 74 20 6d 65 73 73 61 67 | 65 0d 09 09 09 4d 4f 56 |t messag|e....MOV|
|00002c80| 45 4d 2e 4c 09 44 30 2f | 44 31 2c 2d 28 53 50 29 |EM.L.D0/|D1,-(SP)|
|00002c90| 09 09 09 09 09 3b 73 61 | 76 65 20 65 72 72 6f 72 |.....;sa|ve error|
|00002ca0| 20 61 6e 64 20 6d 65 73 | 73 61 67 65 20 66 6f 72 | and mes|sage for|
|00002cb0| 20 6c 61 74 65 72 20 75 | 73 65 0d 0d 09 09 09 4d | later u|se.....M|
|00002cc0| 4f 56 45 2e 57 09 44 30 | 2c 2d 28 53 50 29 0d 09 |OVE.W.D0|,-(SP)..|
|00002cd0| 09 09 4d 4f 56 45 2e 4c | 09 44 31 2c 2d 28 53 50 |..MOVE.L|.D1,-(SP|
|00002ce0| 29 09 09 09 09 09 3b 70 | 61 72 61 6d 65 74 65 72 |).....;p|arameter|
|00002cf0| 73 20 74 6f 20 66 61 69 | 6c 75 72 65 20 68 61 6e |s to fai|lure han|
|00002d00| 64 6c 65 72 0d 09 09 09 | 09 0d 09 09 09 4d 4f 56 |dler....|.....MOV|
|00002d10| 45 2e 4c 09 28 41 30 29 | 2b 2c 44 30 09 09 09 09 |E.L.(A0)|+,D0....|
|00002d20| 09 3b 63 68 65 63 6b 20 | 74 68 65 20 41 36 4c 69 |.;check |the A6Li|
|00002d30| 6e 6b 0d 09 09 09 42 45 | 51 2e 53 09 40 31 09 09 |nk....BE|Q.S.@1..|
|00002d40| 09 09 09 09 09 3b 69 66 | 20 4e 49 4c 20 74 68 65 |.....;if| NIL the|
|00002d50| 6e 20 64 6f 6e 27 74 20 | 70 61 73 73 20 69 74 0d |n don't |pass it.|
|00002d60| 09 09 09 4d 4f 56 45 2e | 4c 09 44 30 2c 2d 28 53 |...MOVE.|L.D0,-(S|
|00002d70| 50 29 09 09 09 09 09 3b | 65 6c 73 65 20 64 6f 20 |P).....;|else do |
|00002d80| 70 61 73 73 20 69 74 0d | 40 31 0d 09 09 09 4d 4f |pass it.|@1....MO|
|00002d90| 56 45 2e 4c 09 28 41 30 | 29 2b 2c 41 30 09 09 09 |VE.L.(A0|)+,A0...|
|00002da0| 09 09 3b 67 65 74 20 61 | 64 64 72 65 73 73 20 6f |..;get a|ddress o|
|00002db0| 66 20 66 61 69 6c 75 72 | 65 20 68 61 6e 64 6c 65 |f failur|e handle|
|00002dc0| 72 0d 09 09 0d 09 09 09 | 4a 53 52 20 09 28 41 30 |r.......|JSR .(A0|
|00002dd0| 29 09 09 09 09 09 09 3b | 63 61 6c 6c 20 66 61 69 |)......;|call fai|
|00002de0| 6c 75 72 65 20 68 61 6e | 64 6c 65 72 0d 09 09 09 |lure han|dler....|
|00002df0| 0d 09 09 09 4d 4f 56 45 | 4d 2e 4c 09 28 53 50 29 |....MOVE|M.L.(SP)|
|00002e00| 2b 2c 44 30 2f 44 31 09 | 09 09 09 09 3b 67 65 74 |+,D0/D1.|....;get|
|00002e10| 20 65 72 72 6f 72 20 26 | 20 6d 65 73 73 61 67 65 | error &| message|
|00002e20| 20 62 61 63 6b 0d 09 09 | 09 4d 4f 56 45 2e 57 09 | back...|.MOVE.W.|
|00002e30| 44 30 2c 2d 28 53 50 29 | 0d 09 09 09 4d 4f 56 45 |D0,-(SP)|....MOVE|
|00002e40| 2e 4c 09 44 31 2c 2d 28 | 53 50 29 09 09 09 09 09 |.L.D1,-(|SP).....|
|00002e50| 3b 70 61 72 61 6d 65 74 | 65 72 73 20 74 6f 20 46 |;paramet|ers to F|
|00002e60| 61 69 6c 75 72 65 0d 09 | 09 09 4a 53 52 09 09 46 |ailure..|..JSR..F|
|00002e70| 61 69 6c 75 72 65 0d 09 | 09 09 5f 44 65 62 75 67 |ailure..|.._Debug|
|00002e80| 67 65 72 09 09 09 09 09 | 09 09 3b 6e 6f 74 20 73 |ger.....|..;not s|
|00002e90| 75 70 70 6f 73 65 64 20 | 74 6f 20 66 61 69 6c 20 |upposed |to fail |
|00002ea0| 74 6f 20 66 61 69 6c 0d | 09 09 09 0d 40 32 0d 09 |to fail.|....@2..|
|00002eb0| 09 09 4d 4f 56 45 2e 57 | 09 44 30 2c 28 41 37 29 |..MOVE.W|.D0,(A7)|
|00002ec0| 09 09 09 09 09 09 3b 73 | 65 74 20 43 61 74 63 68 |......;s|et Catch|
|00002ed0| 53 69 67 6e 61 6c 20 66 | 75 6e 63 74 69 6f 6e 20 |Signal f|unction |
|00002ee0| 72 65 73 75 6c 74 0d 09 | 09 09 4d 4f 56 45 2e 4c |result..|..MOVE.L|
|00002ef0| 09 38 28 41 30 29 2c 41 | 30 09 09 09 09 09 3b 61 |.8(A0),A|0.....;a|
|00002f00| 64 64 72 65 73 73 20 6f | 66 20 74 68 65 20 66 61 |ddress o|f the fa|
|00002f10| 69 6c 75 72 65 20 68 61 | 6e 64 6c 65 72 2d 73 6b |ilure ha|ndler-sk|
|00002f20| 69 70 20 6d 73 67 2e 20 | 26 20 41 36 20 6c 69 6e |ip msg. |& A6 lin|
|00002f30| 6b 0d 09 09 09 4a 4d 50 | 09 09 28 41 30 29 09 09 |k....JMP|..(A0)..|
|00002f40| 09 09 09 09 3b 67 6f 20 | 74 6f 20 70 6f 69 6e 74 |....;go |to point|
|00002f50| 20 6f 66 20 43 61 74 63 | 68 53 69 67 6e 61 6c 0d | of Catc|hSignal.|
|00002f60| 09 09 09 54 61 69 6c 09 | 27 44 4f 46 41 49 4c 55 |...Tail.|'DOFAILU|
|00002f70| 52 27 0d 09 09 09 0d 09 | 09 09 45 4e 44 50 0d 09 |R'......|..ENDP..|
|00002f80| 09 09 09 09 0d 0d 09 09 | 09 45 4e 44 0d 00 00 00 |........|.END....|
|00002f90| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002fa0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002fb0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002fc0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002fd0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002fe0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00002ff0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003000| 00 00 01 00 00 00 01 e0 | 00 00 00 e0 00 00 00 3e |........|.......>|
|00003010| 72 65 63 74 6c 79 20 74 | 6f 20 44 6f 43 61 74 63 |rectly t|o DoCatc|
|00003020| 68 c9 7d 0d 0d 09 20 20 | 44 6f 43 61 74 63 68 28 |h.}... |DoCatch(|
|00003030| 0a 55 46 61 69 6c 75 72 | 65 2e 61 6c 02 00 00 00 |.UFailur|e.al....|
|00003040| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003050| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003060| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003070| 00 00 a0 a1 88 fc 00 00 | 00 00 00 00 02 1e 62 20 |........|......b |
|00003080| 74 68 65 20 76 61 6c 75 | 65 20 69 6e 74 6f 20 61 |the valu|e into a|
|00003090| 20 76 61 72 69 61 62 6c | 65 20 66 6f 72 20 72 65 | variabl|e for re|
|000030a0| 61 64 61 62 69 6c 69 74 | 79 3a 7d 0d 0d 09 20 20 |adabilit|y:}... |
|000030b0| 69 3a 3d 43 61 74 63 68 | 53 69 67 6e 61 6c 3b 0d |i:=Catch|Signal;.|
|000030c0| 0d 09 20 20 49 46 20 69 | 3c 3e 30 20 54 48 45 4e |.. IF i|<>0 THEN|
|000030d0| 0d 0d 09 20 20 20 44 6f | 43 61 74 63 68 28 27 53 |... Do|Catch('S|
|000030e0| 68 6f 75 6c 64 20 6e 65 | 76 65 72 20 67 65 74 20 |hould ne|ver get |
|000030f0| 68 65 72 65 21 27 2c 69 | 29 3b 0d 0d 09 20 20 20 |here!',i|);... |
|00003100| 00 00 00 48 00 09 4d 6f | 6e 61 63 6f 00 6c 2c 20 |...H..Mo|naco.l, |
|00003110| 53 69 67 6e 61 6c 0d 0d | 3b 20 64 65 66 69 6e 65 |Signal..|; define|
|00003120| 64 0d 0d 3b 0d 0d 00 06 | 00 04 00 27 00 00 01 df |d..;....|...'....|
|00003130| 02 30 01 18 00 00 01 dd | 02 3d 9f 93 a3 3a 00 00 |.0......|.=...:..|
|00003140| 00 00 00 00 00 00 00 00 | 00 00 01 00 00 00 00 90 |........|........|
|00003150| 00 08 00 00 0d e4 00 00 | 0d e4 07 67 6c 6f 62 61 |........|...globa|
|00003160| 6c 73 00 00 0e 3f 00 00 | 0e 70 0b 49 6e 69 74 53 |ls...?..|.p.InitS|
|00003170| 69 67 6e 61 6c 73 00 00 | 14 06 00 00 14 06 0d 43 |ignals..|.......C|
|00003180| 61 74 63 68 46 61 69 6c | 75 72 65 73 00 00 16 37 |atchFail|ures...7|
|00003190| 00 00 16 37 0b 43 61 74 | 63 68 53 69 67 6e 61 6c |...7.Cat|chSignal|
|000031a0| 00 00 1e 95 00 00 1e 95 | 01 31 00 00 1f e6 00 00 |........|.1......|
|000031b0| 1f e6 09 53 69 67 67 79 | 50 6f 70 00 00 00 22 69 |...Siggy|Pop..."i|
|000031c0| 00 00 22 9a 0b 46 72 65 | 65 53 69 67 6e 61 6c 00 |.."..Fre|eSignal.|
|000031d0| 00 00 27 60 00 00 27 60 | 07 53 69 67 6e 61 6c 00 |..'`..'`|.Signal.|
|000031e0| 00 00 01 00 00 00 01 e0 | 00 00 00 e0 00 00 00 3e |........|.......>|
|000031f0| 00 15 6e f4 05 84 00 00 | 00 1c 00 3e 00 00 4d 50 |..n.....|...>..MP|
|00003200| 53 52 00 01 00 0a 03 ed | ff ff 00 00 00 00 00 00 |SR......|........|
|00003210| 00 00 03 ef ff ff 00 00 | 00 4c 00 16 a1 d0 00 00 |........|.L......|
|00003220| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003230| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003240| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003250| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003260| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00003270| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+